Function at 0x409fa0
Capabilities:
Check os version
Copy file
Create directory
Delete file
Encode data using base64
Get common file path
Get hostname
Initialize winsock library
Parse credit card information
Resolve dns
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa88a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x9148
call fcn.004f2630
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], esp
push str.procMonitor_2000
mov ebx, 1
push esi
push ebx
push esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x24], eax
mov ecx, 0x24
xor eax, eax
lea edi, [ebp - 0x5c4]
mov dword [ebp - 0x5c8], 0x94
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x5c8]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x5b8], 2
jne 0x40a06d
mov eax, dword [ebp - 0x5c4]
cmp eax, 5
jne 0x40a046
mov eax, dword [ebp - 0x5c0]
cmp eax, esi
jne 0x40a030
mov dword [0xe56d94], ebx
jmp 0x40a067
cmp eax, ebx
jne 0x40a03c
mov dword [0xe56d98], ebx
jmp 0x40a067
jbe 0x40a06d
mov dword [0xe56d9c], ebx
jmp 0x40a067
cmp eax, 6
jne 0x40a06d
mov eax, dword [ebp - 0x5c0]
cmp eax, esi
jne 0x40a05d
mov dword [0xe56da0], ebx
jmp 0x40a067
cmp eax, ebx
jne 0x40a06d
mov dword [0xe56da4], ebx
mov dword [0xe56da8], esi
push 0x80
push str.c:endpcacheprocess_backup_log.txt
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push esi
push str.c:endpcacheprocess_backup_log.txt
push str.c:endpcacheprocess_log.txt
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0xd77a90
mov byte [0xda7164], 0
mov byte [0xd77290], 0
mov byte [0xe3bb40], 0
mov byte [0xc4e19c], 0
mov byte [0xd58f2c], 0
mov byte [0xd4f250], 0
mov byte [0xda728c], 0
mov byte [0xe53750], 0
mov byte [0xc4e09c], 0
mov byte [0xddb394], 0
mov byte [0xe3ba18], 0
mov byte [0xd45cd0], 0
mov byte [0xdb248c], 0
mov byte [0xda6900], 0
mov byte [0xd70d90], 0
mov byte [0xdb258c], 0
mov byte [0xdb1b0c], 0
mov byte [0xc5179c], 0
mov byte [0xcee7f0], 0
mov byte [0xdb268c], 0
mov byte [0xc30c10], 0
mov byte [0xd5301c], 0
mov byte [0xc43b90], 0
mov byte [0xda6800], 0
mov byte [0xc5149c], 0
mov byte [0xc36f10], 0
mov dword [0xe56d54], esi
mov dword [0xe56d20], esi
mov dword [0xe56d24], esi
mov dword [0xe56d28], esi
mov dword [0xe56d2c], esi
mov dword [0xe56d30], esi
mov dword [0xe56d34], esi
mov dword [0xe56d38], esi
mov dword [0xe56d3c], esi
mov dword [0xe56d70], esi
mov dword [0xe56d40], esi
mov dword [0xe56d44], esi
mov dword [0xe56d58], esi
mov dword [0xe56d48], esi
mov dword [0xe56d4c], esi
mov dword [0xe56d64], esi
mov dword [0xe56d5c], esi
mov dword [0xe56d60], esi
mov dword [0xe56d6c], esi
mov dword [0xe56d68], esi
mov dword [0xe56d74], esi
mov dword [0xe56d78], esi
mov dword [0xe56d7c], esi
mov dword [0xe56d80], esi
call fcn.004c9690
add esp, 4
call fcn.004bbe10
call fcn.0048c540
call fcn.004b6910
call fcn.004cced0
call fcn.004cdb80
cmp dword [0xe56d94], ebx
jne 0x40a209
call fcn.004b5e10
jmp 0x40a20e
call fcn.004b5ff0
call fcn.00472080
call fcn.004c6dd0
call fcn.00464650
call fcn.004c8460
call fcn.004c33a0
call fcn.00471f50
call fcn.004c9140
call fcn.004c92a0
mov byte [ebp - 4], 1
call fcn.00445c70
call fcn.004c0a20
call fcn.004b42f0
call fcn.004b45a0
call fcn.00446d50
call fcn.004b41f0
call fcn.004b61d0
call fcn.004c2200
call fcn.004c3170
call fcn.004c8c40
call fcn.0049f180
call fcn.004b40f0
mov eax, dword [0xe56bd8]
mov ebx, dword [ebp - 0x24]
cmp eax, 1
mov dword [ebp - 4], 0
jne 0x40a2a9
test ebx, ebx
push 0x493e0
je 0x40a326
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40a32c
push 0x100
push 0
push str.c:endpcacheprocess_backup_begin.txt
call fcn.004f2f2b
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x40a2dd
push esi
call fcn.004f2eb3
push esi
mov edi, eax
call fcn.004f2e00
add esp, 8
cmp edi, 0x400
jge 0x40a30b
push 0x80
push str.c:endpcacheprocess_backup_log.txt
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
push str.c:endpcacheprocess_backup_begin.txt
push str.c:endpcacheprocess_log.txt
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [0xe56d1c], 1
jmp 0x40a314
cmp dword [0xe56d1c], 1
jne 0x40a32c
test ebx, ebx
push 0x2bf20
je 0x40a326
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40a32c
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 1
lea ecx, [ebp - 0xc4]
push esi
call fcn.004f0653
mov ecx, dword [0x4fe4e8]
mov byte [ebp - 4], 3
push ecx
push esi
push str.c:endpcachecheck_time.txt
lea ecx, [ebp - 0xc4]
mov dword [0xe56dd8], 0
call fcn.004f0727
mov edx, dword [ebp - 0xc4]
or ebx, 0xffffffff
mov eax, dword [edx + 4]
mov eax, dword [ebp + eax - 0xc0]
cmp dword [eax + 0x30], ebx
je 0x40a408
mov edi, dword [ebp - 0xc0]
push 0xa
lea ecx, [ebp - 0x36c]
push 0x40
inc edi
push ecx
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0x36c], 0
mov dword [ebp - 0xc0], edi
call fcn.004f0ae9
lea edi, [ebp - 0x36c]
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ecx, ecx
jle 0x40a408
lea edx, [ebp - 0x36c]
push edx
call fcn.004f23d8
add esp, 4
mov dword [0xe56dd8], eax
test eax, eax
jne 0x40a3da
mov dword [0xe56dac], esi
cmp eax, esi
jge 0x40a3e2
mov eax, esi
jmp 0x40a3ec
cmp eax, 0xc
jle 0x40a3f1
mov eax, 0xc
mov dword [0xe56dd8], eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 5
mov dword [0x513df4], eax
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0xb0]
call fcn.004f05fb
push esi
lea ecx, [ebp - 0xc4]
call fcn.004f0653
mov ecx, dword [0x4fe4e8]
mov byte [ebp - 4], 4
push ecx
push esi
push str.c:endpcache_antiarp_model.txt
lea ecx, [ebp - 0xc4]
call fcn.004f0727
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
mov eax, dword [ebp + eax - 0xc0]
cmp dword [eax + 0x30], ebx
je 0x40a50e
mov edi, dword [ebp - 0xc0]
push 0xa
lea ecx, [ebp - 0x534]
push 0x100
inc edi
push ecx
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc0], edi
call fcn.004f0ae9
lea edi, [ebp - 0x534]
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jle 0x40a4c7
lea edx, [ebp - 0x534]
push str.close
push edx
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40a4c7
mov dword [0xe56bf8], esi
jmp 0x40a503
lea eax, [ebp - 0x534]
push str.lock
push eax
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40a4ec
mov dword [0xe56bf8], esi
call fcn.004d8920
jmp 0x40a503
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 4]
test byte [ebp + edx - 0xbc], 1
je 0x40a46e
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0xb0]
call fcn.004f05fb
push esi
lea ecx, [ebp - 0xc4]
call fcn.004f0653
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0xc4]
push eax
push esi
push str.c:endpcache_firewall_model.txt
mov byte [ebp - 4], 5
call fcn.004f0727
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + edx - 0xc0]
cmp dword [eax + 0x30], ebx
je 0x40a5db
mov eax, dword [ebp - 0xc0]
push 0xa
inc eax
push 0x100
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x534]
push eax
lea ecx, [ebp - 0xc4]
call fcn.004f0ae9
lea edi, [ebp - 0x534]
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jle 0x40a5bd
lea ecx, [ebp - 0x534]
push str.close
push ecx
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40a5bd
mov dword [0xe56c00], esi
jmp 0x40a5d0
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
test byte [ebp + eax - 0xbc], 1
je 0x40a564
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0xb0]
call fcn.004f05fb
lea ecx, [ebp - 0x434]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x534]
push edx
push str._sdllcache_bk
push eax
call fcn.004f175f
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 0xc
lea ecx, [ebp - 0x534]
push 0
push ecx
call esi
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x534]
push edx
push str._sdllcache
push eax
call fcn.004f175f
add esp, 0xc
lea ecx, [ebp - 0x534]
push 0
push ecx
call esi
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
mov edx, 0xdec418
mov edi, str.NULL
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx - 0x100]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [ebp - 0x2c], esi
mov eax, ecx
mov esi, edi
mov edi, dword [ebp - 0x2c]
add edx, 0x10c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp edx, 0xdfd018
rep movsb byte es:[edi], byte [esi]
mov dword [edx - 0x10c], ebx
mov dword [edx - 0x108], ebx
mov dword [edx - 0x104], ebx
jl 0x40a667
lea ecx, [ebp - 0x1058]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40a6dd
push 1
call fcn.00404870
add esp, 4
mov dword [0xe56db0], 1
lea edx, [ebp - 0xfc]
push 0x10
push edx
call dword [sym.imp.WS2_32.dll_gethostname]
cmp eax, ebx
je 0x40a718
mov edi, str.Unknown
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0xfc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0xfc]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
je 0x40a750
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x434]
mov edi, eax
jmp 0x40a75b
lea edx, [ebp - 0x434]
mov edi, 0x50e258
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
push 0x40
push esi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push ebx
push str.Winsta0
mov dword [ebp - 4], 7
call dword [sym.imp.USER32.dll_OpenWindowStationA]
push eax
call dword [sym.imp.USER32.dll_SetProcessWindowStation]
mov eax, dword [0xe56d1c]
mov dword [ebp - 0x30], ebx
cmp eax, ebx
jne 0x40a7f2
mov esi, dword [ebp - 0x24]
cmp esi, ebx
je 0x40a7e0
mov ecx, dword [0x513df4]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ecx
push esi
call edi
mov eax, dword [0x513df4]
push eax
push esi
call edi
jmp 0x40a7f2
mov edx, dword [0x513df4]
push edx
call edi
mov ecx, dword [0x513df4]
push ecx
call edi
lea ecx, [ebp - 0x2a4]
mov dword [0xe56c28], 1
call fcn.00401000
push 0xd09fb0
call fcn.00401350
add esp, 4
mov esi, 1
lea ecx, [ebp - 0x2ec]
xor ebx, ebx
push esi
call fcn.004f0653
push str.c:endpcacheprocess_log.txt
lea edx, [ebp - 0x8c8]
push 0x50d39c
push edx
mov byte [ebp - 4], 8
call fcn.004f175f
lea eax, [ebp - 0x648]
push eax
call fcn.00401440
add esp, 0x10
lea ecx, [ebp - 0x648]
push ecx
call fcn.004fa6c0
add esp, 4
push eax
push 0xd09fb0
call fcn.004fa6c0
add esp, 4
push eax
push 0xd52ffc
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0xbc8]
push eax
push 0x5149a8
push edx
call fcn.004f175f
mov eax, dword [0x4fe4e8]
add esp, 0x14
lea ecx, [ebp - 0x8c8]
push eax
push 8
push ecx
lea ecx, [ebp - 0x2ec]
call fcn.004f0727
lea edx, [ebp - 0xbc8]
lea ecx, [ebp - 0x2e0]
push edx
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
lea ecx, [ebp - 0x2ec]
call fcn.004f076e
cmp dword [0xe56dac], esi
jne 0x40a8ee
mov eax, dword [0x513df8]
mov dword [0x513df4], eax
call fcn.004b4270
cmp dword [0xe56dbc], ebx
jne 0x40a900
call fcn.004c89c0
push esi
lea ecx, [ebp - 0x78]
mov dword [0x513dfc], esi
call fcn.004f0653
mov ecx, dword [0x4fe4e8]
mov byte [ebp - 4], 9
push ecx
push esi
push str.c:endpcache_sysdel_model.txt
lea ecx, [ebp - 0x78]
mov dword [0xe56dd4], ebx
call fcn.004f0727
mov edx, dword [ebp - 0x78]
or esi, 0xffffffff
mov eax, dword [edx + 4]
mov eax, dword [ebp + eax - 0x74]
cmp dword [eax + 0x30], esi
je 0x40a990
mov edi, dword [ebp - 0x74]
push 0xa
lea ecx, [ebp - 0x32c]
push 0x40
inc edi
push ecx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x74], edi
call fcn.004f0ae9
lea edi, [ebp - 0x32c]
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x40a990
lea edx, [ebp - 0x32c]
push str.close
push edx
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40a990
mov dword [0xe56dd4], 1
lea ecx, [ebp - 0x78]
call fcn.004f076e
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0x78]
push eax
push 1
push str.c:endpcache_auto_repair.txt
mov dword [0xe56dc8], ebx
call fcn.004f0727
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + edx - 0x74]
cmp dword [eax + 0x30], esi
je 0x40aa12
mov eax, dword [ebp - 0x74]
push 0xa
inc eax
push 0x40
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x78]
call fcn.004f0ae9
lea edi, [ebp - 0x32c]
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x40aa12
lea ecx, [ebp - 0x32c]
push str.close
push ecx
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40aa12
mov dword [0xe56dc8], 1
lea ecx, [ebp - 0x78]
call fcn.004f076e
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0x78]
push edx
push 1
push str.c:endpcache_securityService_flag.txt
mov dword [0xe56dd0], ebx
call fcn.004f0727
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0x74]
cmp dword [eax + 0x30], esi
je 0x40aa95
mov edi, dword [ebp - 0x74]
push 0xa
lea edx, [ebp - 0x32c]
inc edi
push 0x40
push edx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x74], edi
call fcn.004f0ae9
lea edi, [ebp - 0x32c]
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x40aa95
lea eax, [ebp - 0x32c]
push str.close
push eax
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40aa95
mov dword [0xe56dd0], 1
lea ecx, [ebp - 0x78]
call fcn.004f076e
mov ecx, dword [0x4fe4e8]
mov dword [0xe56ddc], ebx
push ecx
push 1
push str.c:endpcache_app_image_flag.txt
lea ecx, [ebp - 0x78]
call fcn.004f0727
mov edx, dword [ebp - 0x78]
mov eax, dword [edx + 4]
mov eax, dword [ebp + eax - 0x74]
cmp dword [eax + 0x30], esi
je 0x40ab24
mov edi, dword [ebp - 0x74]
push 0xa
lea ecx, [ebp - 0x32c]
push 0x40
inc edi
push ecx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x74], edi
call fcn.004f0ae9
lea edi, [ebp - 0x32c]
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x40ab24
lea edi, [ebp - 0x32c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [0xe56ddc], 1
mov edx, ecx
mov esi, edi
mov edi, 0xddc094
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x78]
call fcn.004f076e
cmp dword [0xe56ddc], 1
jne 0x40ab50
push 0x80
push str.c:endpcache_app_image_flag.txt
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push str.c:endpcache_app_image_flag.txt
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00436a80
mov eax, dword [ebp - 0x24]
add esp, 0x1b0
test eax, eax
je 0x40ab91
mov ecx, dword [0x513df4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40ab9e
mov edx, dword [0x513df4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00446040
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043eb60
mov eax, dword [ebp - 0x24]
add esp, 0x1b0
test eax, eax
je 0x40ac09
mov ecx, dword [0x513df4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40ac16
mov edx, dword [0x513df4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0x78]
push eax
push 1
push str.c:endpcachelocal_macaddress.txt
mov byte [ebp - 0x354], 0
call fcn.004f0727
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + edx - 0x74]
cmp dword [eax + 0x30], 0xffffffff
je 0x40ac5c
mov edi, dword [ebp - 0x74]
push 0xa
lea eax, [ebp - 0x354]
inc edi
push 0x28
push eax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x74], edi
call fcn.004f0ae9
lea ecx, [ebp - 0x78]
call fcn.004f076e
lea edi, [ebp - 0x354]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x40ac88
lea ecx, [ebp - 0x354]
push ecx
call fcn.004049c0
add esp, 4
xor esi, esi
mov dword [ebp - 0x7c], 1
or edi, 0xffffffff
inc esi
inc ebx
cmp ebx, 0xfa
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], ebx
jne 0x40ae5b
push 1
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], 0
call fcn.004f0653
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0xc4]
push edx
push 1
push str.c:endpcacheloginAddress.txt
mov byte [ebp - 4], 0xb
call fcn.004f0727
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0xc0]
cmp dword [eax + 0x30], edi
je 0x40ad16
mov ebx, dword [ebp - 0xc0]
push 0xa
inc ebx
push 0x80
push 0xdb1a8c
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc0], ebx
call fcn.004f0ae9
lea ecx, [ebp - 0xc4]
call fcn.004f076e
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0xc4]
push edx
push 1
push str.c:endpcachemcnAddress.txt
call fcn.004f0727
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0xc0]
cmp dword [eax + 0x30], edi
je 0x40ad73
mov ebx, dword [ebp - 0xc0]
push 0xa
inc ebx
push 0x80
push 0xddc194
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc0], ebx
call fcn.004f0ae9
lea ecx, [ebp - 0xc4]
call fcn.004f076e
mov eax, dword [0xe56dbc]
test eax, eax
jne 0x40ae41
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0xc4]
push edx
push 1
push str.c:endpcacheproc_setAutoReport_flag.txt
call fcn.004f0727
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0xc0]
cmp dword [eax + 0x30], edi
je 0x40ae36
mov edi, dword [ebp - 0xc0]
push 0xa
lea edx, [ebp - 0x9c8]
inc edi
push 0x100
push edx
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc0], edi
call fcn.004f0ae9
lea edi, [ebp - 0x9c8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40ae22
lea eax, [ebp - 0x9c8]
push str.close
push eax
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x40ae22
push 1
call fcn.00404870
add esp, 4
mov dword [0xe56db0], 1
jmp 0x40ae36
push 0
call fcn.00404870
add esp, 4
mov dword [0xe56db0], 0
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xa
call fcn.004f0714
lea ecx, [ebp - 0xb0]
call fcn.004f05fb
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x40ae72
mov ecx, dword [0x513df4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40ae7f
mov edx, dword [0x513df4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 1
jne 0x40afdf
call fcn.004be610
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0044d900
mov eax, dword [0xe56bdc]
add esp, 0x1b0
test eax, eax
jne 0x40aef3
cmp dword [0xe56bf8], 1
jne 0x40aef3
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00445210
add esp, 0x1b0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042feb0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00430a50
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043f5b0
mov eax, dword [0xe56bdc]
add esp, 0x1b0
test eax, eax
jne 0x40afb6
mov eax, dword [0xe56bd8]
test eax, eax
jne 0x40afb6
mov eax, dword [0xe56c00]
test eax, eax
jne 0x40afb6
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00442ac0
add esp, 0x1b0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004716d0
jmp 0x40ba9f
cmp esi, 2
jne 0x40b2a7
mov dword [0xe56c18], 0
call fcn.00466840
call fcn.00466580
call fcn.004661e0
call fcn.00466b00
call fcn.00466de0
mov eax, dword [0xe56db0]
test eax, eax
jne 0x40baa5
mov eax, dword [0xe56dbc]
push 0xda738c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40b04c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40b066
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov eax, dword [0xe56dbc]
add esp, 0x1b4
test eax, eax
push 0xda2b00
push 0xddc194
push 0xdb1a8c
jne 0x40b0a0
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40b0ba
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov eax, dword [0xe56dbc]
add esp, 0x1b4
test eax, eax
push 0xe53950
push 0xddc194
push 0xdb1a8c
jne 0x40b0f4
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40b10e
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov eax, dword [0xe56cf8]
add esp, 0x1b4
cmp eax, 1
jne 0x40b15a
push 0xd8832c
push 0xd09fb0
call fcn.004fa6c0
add esp, 4
push eax
push 0xd52ffc
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x534]
push 0x5148b0
push eax
call fcn.004f175f
add esp, 0x14
call fcn.004cd5f0
jmp 0x40b18a
push 0xd09fb0
call fcn.004fa6c0
add esp, 4
push eax
push 0xd52ffc
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x534]
push eax
push 0x514874
push ecx
call fcn.004f175f
add esp, 0x10
mov eax, dword [0xe56dbc]
test eax, eax
jne 0x40b1c0
lea edx, [ebp - 0x534]
mov ecx, 0x6a
push edx
push 0xddc194
push 0xdb1a8c
lea esi, [ebp - 0x2a4]
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40b1eb
lea eax, [ebp - 0x534]
mov ecx, 0x6a
push eax
push 0xddc194
push 0xdb1a8c
lea esi, [ebp - 0x2a4]
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov eax, dword [0xe56dbc]
add esp, 0x1b4
test eax, eax
push 0xda7064
push 0xddc194
push 0xdb1a8c
jne 0x40b225
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40b23f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov eax, dword [0xe56dbc]
add esp, 0x1b4
test eax, eax
push 0xe53850
push 0xddc194
push 0xdb1a8c
jne 0x40b282
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
add esp, 0x1b4
jmp 0x40baa5
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
jmp 0x40baa5
cmp esi, 3
jne 0x40b2ff
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00432da0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00433c10
jmp 0x40ba9f
cmp esi, 4
jne 0x40b381
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042aa60
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00429720
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00465d00
jmp 0x40ba9f
cmp esi, 5
jne 0x40b411
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004469d0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00430050
mov eax, dword [0xe56d10]
add esp, 0x1b0
test eax, eax
jne 0x40cf5c
mov eax, dword [0xe56d14]
cmp eax, 1
jle 0x40cf5c
push eax
call fcn.004c6830
add esp, 4
mov dword [0xe56d10], 1
jmp 0x40cf5c
cmp esi, 6
jne 0x40b469
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00430390
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004306f0
jmp 0x40ba9f
cmp esi, 7
jne 0x40b4f9
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004328b0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004335b0
mov eax, dword [0xe56d10]
add esp, 0x1b0
test eax, eax
jne 0x40cf8c
mov eax, dword [0xe56d14]
cmp eax, 1
jle 0x40cf8c
push eax
call fcn.004c6830
add esp, 4
mov dword [0xe56d10], 1
jmp 0x40cf8c
cmp esi, 8
jne 0x40b5dd
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004357b0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043e210
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043dae0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00445700
mov eax, dword [0xe56d10]
add esp, 0x1b0
test eax, eax
jne 0x40cfbc
mov eax, dword [0xe56d14]
cmp eax, 1
jle 0x40cfbc
push eax
call fcn.004c6830
add esp, 4
mov dword [0xe56d10], 1
jmp 0x40cfbc
cmp esi, 9
jne 0x40b65f
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0046a610
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043f3e0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004276b0
jmp 0x40ba9f
cmp esi, 0xa
jne 0x40b6bc
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042dfb0
add esp, 0x1b0
call fcn.004be3d0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0044dff0
jmp 0x40ba9f
cmp esi, 0xb
jne 0x40b76c
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042e720
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00432440
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00431ee0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045b730
jmp 0x40ba9f
cmp esi, 0xd
jne 0x40b79a
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042f560
jmp 0x40ba9f
cmp esi, 0xe
jne 0x40b7d1
call fcn.0048b0e0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0046acd0
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0xf
jne 0x40b89e
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004670a0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00467530
mov eax, dword [0xe56dd0]
mov ebx, 1
add esp, 0x1b0
cmp eax, ebx
jne 0x40b846
call fcn.004c0900
call fcn.004c09c0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045cef0
mov eax, dword [0xe56d10]
add esp, 0x1b0
test eax, eax
jne 0x40d01f
mov eax, dword [0xe56d14]
cmp eax, ebx
jle 0x40d01f
push eax
call fcn.004c6830
add esp, 4
mov dword [0xe56d10], ebx
jmp 0x40d01f
cmp esi, 0x10
jne 0x40b8d0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004290d0
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x11
jne 0x40b982
push str.c:endpcacheccfilemon.sys
call fcn.004abe70
add esp, 4
cmp eax, 1
jne 0x40b8fd
call fcn.004ca9a0
push str.fileSecurity
call fcn.004ca8f0
add esp, 4
push str.c:endpcacheCCREGMONEX.sys
call fcn.004abe70
add esp, 4
cmp eax, 1
jne 0x40b921
call fcn.004caa30
push str.regSecurity
call fcn.004ca8f0
add esp, 4
push str.fileM
call fcn.004ca8f0
add esp, 4
push str.regM
call fcn.004ca8f0
add esp, 4
push str.fileSecurity
call fcn.004ca8f0
add esp, 4
push str.regSecurity
call fcn.004ca8f0
add esp, 4
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00459c90
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x12
jne 0x40b9b9
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00470ec0
add esp, 0x1b0
call fcn.00492950
mov esi, dword [ebp - 0x14]
cmp esi, 0x13
jne 0x40b9eb
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004719a0
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x15
jne 0x40ba1d
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045da60
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x16
jne 0x40ba48
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00497f90
jmp 0x40ba9f
cmp esi, 0x17
jne 0x40bad8
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043c990
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043d400
add esp, 0x1b0
mov eax, dword [0xe56d10]
test eax, eax
jne 0x40d01f
mov eax, dword [0xe56d14]
cmp eax, 1
jle 0x40d01f
push eax
call fcn.004c6830
add esp, 4
mov dword [0xe56d10], 1
jmp 0x40d01f
cmp esi, 0x18
jne 0x40bb8c
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00491590
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043c5d0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0048c340
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045a2a0
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x19
jne 0x40bbbe
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0044d900
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x1a
jne 0x40bc4d
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00492f70
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00481ed0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00474c00
add esp, 0x1b0
call fcn.00491e80
mov esi, dword [ebp - 0x14]
cmp esi, 0x1b
jne 0x40bc7f
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00493620
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x1c
jne 0x40c79d
mov eax, dword [0xe56db0]
test eax, eax
jne 0x40d01f
mov edi, 0xda7164
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bcfd
mov eax, dword [0xe56dbc]
push 0xda7164
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bcdd
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40bcf7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd77290
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bd65
mov eax, dword [0xe56dbc]
push 0xd77290
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bd45
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40bd5f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xe3bb40
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bdcd
mov eax, dword [0xe56dbc]
push 0xe3bb40
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bdad
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40bdc7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc4e19c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40be35
mov eax, dword [0xe56dbc]
push 0xc4e19c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40be15
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40be2f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd58f2c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40be9d
mov eax, dword [0xe56dbc]
push 0xd58f2c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40be7d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40be97
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xda728c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bf05
mov eax, dword [0xe56dbc]
push 0xda728c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bee5
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40beff
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd4f250
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bf6d
mov eax, dword [0xe56dbc]
push 0xd4f250
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bf4d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40bf67
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xe53750
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40bfd5
mov eax, dword [0xe56dbc]
push 0xe53750
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40bfb5
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40bfcf
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc4e09c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c03d
mov eax, dword [0xe56dbc]
push 0xc4e09c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c01d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c037
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xdb258c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c0a5
mov eax, dword [0xe56dbc]
push 0xdb258c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c085
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c09f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xddb394
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c10d
mov eax, dword [0xe56dbc]
push 0xddb394
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c0ed
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c107
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd45cd0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c175
mov eax, dword [0xe56dbc]
push 0xd45cd0
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c155
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c16f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xdb248c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c1dd
mov eax, dword [0xe56dbc]
push 0xdb248c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c1bd
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c1d7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xda6900
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c245
mov eax, dword [0xe56dbc]
push 0xda6900
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c225
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c23f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd70d90
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c2ad
mov eax, dword [0xe56dbc]
push 0xd70d90
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c28d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c2a7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xda2a00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c315
mov eax, dword [0xe56dbc]
push 0xda2a00
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c2f5
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c30f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xe3ba18
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c37d
mov eax, dword [0xe56dbc]
push 0xe3ba18
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c35d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c377
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xdb1b0c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c3e5
mov eax, dword [0xe56dbc]
push 0xdb1b0c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c3c5
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c3df
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc5179c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c44d
mov eax, dword [0xe56dbc]
push 0xc5179c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c42d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c447
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xcee7f0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c4b5
mov eax, dword [0xe56dbc]
push 0xcee7f0
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c495
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c4af
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xdb268c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c51d
mov eax, dword [0xe56dbc]
push 0xdb268c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c4fd
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c517
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc30c10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c585
mov eax, dword [0xe56dbc]
push 0xc30c10
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c565
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c57f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xd5301c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c5ed
mov eax, dword [0xe56dbc]
push 0xd5301c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c5cd
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c5e7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc43b90
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c655
mov eax, dword [0xe56dbc]
push 0xc43b90
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c635
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c64f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc36f10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c6bd
mov eax, dword [0xe56dbc]
push 0xc36f10
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c69d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c6b7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xda6800
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40c725
mov eax, dword [0xe56dbc]
push 0xda6800
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c705
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x40c71f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov edi, 0xc5149c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x40d01f
mov eax, dword [0xe56dbc]
push 0xc5149c
test eax, eax
push 0xddc194
push 0xdb1a8c
jne 0x40c77a
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
add esp, 0x1b4
jmp 0x40d01f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
mov esi, dword [ebp - 0x14]
add esp, 0x1b4
cmp esi, 0x1d
jne 0x40c817
mov eax, dword [0xe56dbc]
push 0xddc194
test eax, eax
push 0xdb1a8c
jle 0x40c7e8
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00439890
add esp, 0x1b4
mov dword [0x513df4], 0x3a980
jmp 0x40d01f
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00437150
add esp, 0x1b0
mov dword [0x513df4], 0x3a980
jmp 0x40d01f
cmp esi, 0x1e
jne 0x40c9ba
mov ecx, dword [0xe56dbc]
xor eax, eax
cmp ecx, eax
jle 0x40c925
mov dword [0xe56d20], eax
mov dword [0xe56d24], eax
mov dword [0xe56d28], eax
mov dword [0xe56d2c], eax
mov dword [0xe56d30], eax
mov dword [0xe56d34], eax
mov dword [0xe56d38], eax
mov dword [0xe56d3c], eax
mov dword [0xe56d70], eax
mov dword [0xe56d40], eax
mov dword [0xe56d44], eax
mov dword [0xe56d58], eax
mov dword [0xe56d48], eax
mov dword [0xe56d4c], eax
mov dword [0xe56d64], eax
mov dword [0xe56d5c], eax
mov dword [0xe56d60], eax
mov dword [0xe56d6c], eax
mov dword [0xe56d68], eax
mov dword [0xe56d74], eax
mov dword [0xe56d78], eax
mov dword [0xe56d7c], eax
mov dword [0xe56d80], eax
mov dword [0xe56c98], eax
mov dword [0xe56c9c], eax
mov dword [0xe56ca0], eax
mov dword [0xe56ca4], eax
mov dword [0xe56ca8], eax
mov dword [0xe56cac], eax
mov dword [0xe56cb0], eax
mov dword [0xe56cb4], eax
mov dword [0xe56cb8], eax
mov dword [0xe56cbc], eax
mov dword [0xe56cc0], eax
mov dword [0xe56cc4], eax
mov dword [0xe56cc8], eax
mov dword [0xe56ccc], eax
mov dword [0xe56cd0], eax
mov dword [0xe56cd4], eax
mov dword [0xe56cd8], eax
mov dword [0xe56cdc], eax
mov dword [0xe56ce0], eax
mov dword [0xe56ce8], eax
mov dword [0xe56cec], eax
mov dword [0xe56cf0], eax
mov dword [0xe56cf4], eax
mov dword [0xe56d00], eax
mov dword [0xe56d04], eax
mov dword [0xe56d08], eax
call fcn.004b56e0
call fcn.004c86b0
call fcn.00471d50
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00446500
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042ece0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00428af0
add esp, 0x1b0
call fcn.004bfee0
mov esi, dword [ebp - 0x14]
cmp esi, 0x1f
jne 0x40ca25
push 0x63
mov byte [ebp - 4], 0xc
call fcn.004efe90
push str.ntldr
call fcn.004eb8d0
add esp, 8
push str.NTDETECT.COM
call fcn.004eb8d0
add esp, 4
mov eax, dword [0xe56bdc]
mov dword [ebp - 4], 0xa
test eax, eax
jne 0x40d01f
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00429260
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x20
jne 0x40ca34
call fcn.004a3be0
call fcn.00492c30
cmp esi, 0x21
jne 0x40ca78
call fcn.004cd1d0
mov eax, dword [0xe56bdc]
test eax, eax
jne 0x40d01f
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00471270
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x22
jne 0x40ca9c
mov eax, dword [0xe56bd8]
test eax, eax
jne 0x40d01f
mov edx, dword [0xe56bdc]
push edx
call fcn.004ef690
mov esi, dword [ebp - 0x14]
add esp, 4
cmp esi, 0x23
jne 0x40caab
call fcn.004c3d50
call fcn.004c32a0
cmp esi, 0x24
jne 0x40cadd
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00471be0
mov esi, dword [ebp - 0x14]
add esp, 0x1b0
cmp esi, 0x25
jne 0x40cae7
call fcn.004cd650
cmp esi, 0x27
jne 0x40caf1
call fcn.004dafe0
cmp esi, 0x28
jne 0x40cb05
call fcn.004de2d0
call fcn.004db4e0
call fcn.004db710
cmp esi, 0x29
jne 0x40cb19
call fcn.004e03a0
call fcn.004de500
call fcn.004de730
cmp esi, 0x2a
jne 0x40cb2d
call fcn.004de960
call fcn.004deb90
call fcn.004dedc0
cmp esi, 0x2b
jne 0x40cb41
call fcn.004deff0
call fcn.004df220
call fcn.004df450
cmp esi, 0x2c
jne 0x40cb55
call fcn.004df680
call fcn.004df8b0
call fcn.004dfae0
cmp esi, 0x2d
jne 0x40cb69
call fcn.004dfd10
call fcn.004dff40
call fcn.004e0170
cmp esi, 0x2e
jne 0x40cb7d
call fcn.004db940
call fcn.004dbb70
call fcn.004dbda0
cmp esi, 0x2f
jne 0x40cb91
call fcn.004dbfd0
call fcn.004dc200
call fcn.004dc430
cmp esi, 0x30
jne 0x40cba5
call fcn.004dc660
call fcn.004dc890
call fcn.004dcac0
cmp esi, 0x31
jne 0x40cbb9
call fcn.004dccf0
call fcn.004dcf20
call fcn.004dd150
cmp esi, 0x32
jne 0x40cbcd
call fcn.004dd380
call fcn.004dd5b0
call fcn.004dd7e0
cmp esi, 0x33
jne 0x40cbe1
call fcn.004dda10
call fcn.004ddc40
call fcn.004dde70
cmp esi, 0x34
jne 0x40cbeb
call fcn.004de0a0
cmp esi, 0x35
jne 0x40cbf5
call fcn.004c9ba0
cmp esi, 0x36
jne 0x40cc09
call fcn.004e08e0
call fcn.004e0b10
call fcn.004e0d40
cmp esi, 0x37
jne 0x40cc1d
call fcn.004e0f70
call fcn.004e11a0
call fcn.004e13d0
cmp esi, 0x38
jne 0x40cc31
call fcn.004e1600
call fcn.004e1830
call fcn.004e1a60
cmp esi, 0x39
jne 0x40cc45
call fcn.004e1c90
call fcn.004e1ec0
call fcn.004e20f0
cmp esi, 0x3a
jne 0x40cc59
call fcn.004e2320
call fcn.004e2550
call fcn.004e2780
cmp esi, 0x3b
jne 0x40cc6d
call fcn.004e29b0
call fcn.004e2be0
call fcn.004e2e10
cmp esi, 0x3c
jne 0x40cc81
call fcn.004e3040
call fcn.004e3270
call fcn.004e34a0
cmp esi, 0x3d
jne 0x40cc95
call fcn.004e36d0
call fcn.004e3900
call fcn.004e3b30
cmp esi, 0x3e
jne 0x40cca9
call fcn.004e3d60
call fcn.004e3f90
call fcn.004e41c0
cmp esi, 0x3f
jne 0x40ccbd
call fcn.004e7640
call fcn.004e7870
call fcn.004e7aa0
cmp esi, 0x40
jne 0x40ccd1
call fcn.004e43f0
call fcn.004e4620
call fcn.004e4850
cmp esi, 0x41
jne 0x40cce5
call fcn.004e4a80
call fcn.004e4cb0
call fcn.004e4ee0
cmp esi, 0x42
jne 0x40ccf9
call fcn.004e5110
call fcn.004e5340
call fcn.004e5570
cmp esi, 0x43
jne 0x40cd0d
call fcn.004e57a0
call fcn.004e59d0
call fcn.004e5c00
cmp esi, 0x44
jne 0x40cd21
call fcn.004e5e30
call fcn.004e6060
call fcn.004e6290
cmp esi, 0x45
jne 0x40cd35
call fcn.004e64c0
call fcn.004e66f0
call fcn.004e6920
cmp esi, 0x46
jne 0x40cd49
call fcn.004e6b50
call fcn.004e6d80
call fcn.004e6fb0
cmp esi, 0x47
jne 0x40cd5d
call fcn.004e71e0
call fcn.004e7410
call fcn.004e7cd0
cmp esi, 0x48
jne 0x40cd71
call fcn.004e7f00
call fcn.004e8130
call fcn.004e8360
cmp esi, 0x49
jne 0x40cd80
call fcn.004e8590
call fcn.004e87c0
cmp esi, 0x4a
jne 0x40cd94
call fcn.004e89f0
call fcn.004e8c70
call fcn.004e8ef0
cmp esi, 0x4b
jne 0x40cda3
call fcn.004e9170
call fcn.004e93a0
cmp esi, 0x4c
jne 0x40cdb2
call fcn.004e95d0
call fcn.004e9800
cmp esi, 0x4d
jne 0x40cdc1
call fcn.004e9a30
call fcn.004e9c60
cmp esi, 0x4e
jne 0x40cded
push str.d3d8.dll
call fcn.004ea440
add esp, 4
push str.hnetcfg.dll
call fcn.004ea440
add esp, 4
push str.imm32.dll
call fcn.004ea440
add esp, 4
cmp esi, 0x64
jne 0x40ce09
push 0xe56fc4
push 0xd56f2c
push 0xe3dc80
call fcn.004eaa30
add esp, 0xc
cmp esi, 0x65
jne 0x40ce25
push 0xe56fc8
push 0xe41cd0
push 0xc4a090
call fcn.004eaff0
add esp, 0xc
cmp esi, 0x66
jne 0x40ce5b
xor esi, esi
cmp esi, dword [0xe56fc4]
jge 0x40ce5b
mov eax, esi
shl eax, 8
add eax, 0xe3dc80
push eax
call fcn.004ea440
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x40ce2c
cmp dword [ebp - 0x14], 0x67
jne 0x40ce8d
xor esi, esi
cmp esi, dword [0xe56fc8]
jge 0x40ce8d
mov ecx, esi
shl ecx, 8
add ecx, 0xc4a090
push ecx
call fcn.004ea440
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x40ce63
cmp dword [ebp - 0x14], 0x68
jne 0x40cec1
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
cmp esi, dword [0xe56fc4]
jge 0x40cec7
mov edx, esi
shl edx, 7
add edx, 0xd56f2c
push edx
call fcn.004ea980
add esp, 4
push 0x3e8
call edi
inc esi
jmp 0x40ce9b
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [ebp - 0x14]
cmp ebx, 0x69
jne 0x40cef6
xor esi, esi
cmp esi, dword [0xe56fc8]
jge 0x40cef6
mov eax, esi
shl eax, 7
add eax, 0xe41cd0
push eax
call fcn.004ea980
add esp, 4
push 0x3e8
call edi
inc esi
jmp 0x40ced1
cmp ebx, 0x6a
jne 0x40cf0d
push 0xe56fcc
push 0xd8842c
call fcn.004eb680
add esp, 8
cmp ebx, 0x6b
jne 0x40cf56
xor ebx, ebx
cmp ebx, dword [0xe56fcc]
jge 0x40cf56
mov edx, ebx
or ecx, 0xffffffff
shl edx, 6
xor eax, eax
lea esi, [edx + 0xd8842c]
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jle 0x40cf53
push esi
mov byte [ecx + edx + 0xd88428], al
call fcn.004ea840
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x40cf14
cmp dword [ebp - 0x14], 5
jne 0x40cf86
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0042ac00
add esp, 0x1b0
cmp dword [ebp - 0x14], 7
jne 0x40cfb6
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00462f70
add esp, 0x1b0
cmp dword [ebp - 0x14], 8
jne 0x40cfe6
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043c260
add esp, 0x1b0
cmp dword [ebp - 0x14], 0x10
jne 0x40d01f
cmp dword [0xe56dbc], 1
jne 0x40d01f
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045bc60
add esp, 0x1b0
mov ecx, dword [0x513dfc]
mov eax, 1
cmp ecx, eax
je 0x40d03a
cmp dword [0xe56bdc], eax
jne 0x40d29c
mov ebx, dword [ebp - 0x14]
cmp ebx, 0xa
jne 0x40d1ea
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00435b90
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00444c10
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004347f0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00434fd0
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043e570
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043e700
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043e950
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0046aa40
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00470c50
add esp, 0x1b0
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00444500
add esp, 0x1b0
cmp ebx, 0xb
jne 0x40d26d
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00436740
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043d800
add esp, 0x1b0
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00446ec0
add esp, 0x1b0
cmp ebx, 0x12
jne 0x40d29c
push 0xddc194
push 0xdb1a8c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp - 0x2a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0045a010
add esp, 0x1b0
mov ecx, dword [0xe56e14]
xor eax, eax
test ecx, ecx
mov dword [0xe56e18], eax
jle 0x40d2c2
mov edx, dword [0xe56e1c]
mov eax, ecx
sub eax, edx
mov dword [0xe56e1c], ecx
mov dword [0xe56e18], eax
mov esi, dword [0xe56e20]
inc esi
test ecx, ecx
mov dword [0xe56e20], esi
jne 0x40d2dc
mov ecx, esi
inc ecx
mov dword [0xe56e20], ecx
mov edx, dword [0xe56fdc]
inc edx
test eax, eax
mov dword [0xe56fdc], edx
jg 0x40d303
cmp dword [0xe56e24], 1
je 0x40d303
cmp dword [0xe56e20], 5
jle 0x40d869
lea ecx, [ebp - 0x5b4]
xor esi, esi
push 0x80
push ecx
mov dword [0xe56e20], esi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x9158]
push edx
push eax
mov dword [ebp - 0x20], esi
call fcn.004aa1c0
mov dword [0xe56d14], eax
mov eax, dword [ebp - 0x20]
add esp, 8
cmp eax, 4
jge 0x40d358
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x9158]
push ecx
push edx
call fcn.004aa790
add esp, 8
mov dword [0xe56d14], eax
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0x8c8]
push eax
push 8
push ecx
lea ecx, [ebp - 0x2ec]
call fcn.004f0727
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x100
jle 0x40d385
mov ecx, 0x100
mov dword [ebp - 0x20], ecx
cmp ecx, dword [0xe56c14]
jle 0x40d393
mov dword [0xe56c14], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
cmp eax, ecx
jge 0x40d728
shl eax, 7
or ecx, 0xffffffff
lea edx, [ebp - 0xcc8]
lea ebx, [ebp + eax - 0x9158]
xor eax, eax
mov edi, ebx
push str.c:endp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0xcc8]
mov byte [ebp - 0xcc1], 0
push ecx
call fcn.004f61e0
add esp, 8
test eax, eax
je 0x40d44d
push 0x5147e0
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x40d44d
xor edi, edi
mov ebx, 1
mov edx, dword [0xe56c14]
cmp edi, edx
jge 0x40d45f
mov edx, edi
shl edx, 5
add edx, edi
lea esi, [edi + edx*2]
shl esi, 2
cmp dword [esi + 0xdec41c], ebx
jne 0x40d45c
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x28], eax
jmp 0x40d398
xor eax, eax
test eax, eax
jne 0x40d44d
xor eax, eax
mov dword [ebp - 0x18], eax
cmp eax, dword [0xe56c14]
jge 0x40d85e
mov ecx, eax
shl ecx, 5
add ecx, eax
lea eax, [eax + ecx*2]
shl eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [eax + 0xdec420], 1
je 0x40d845
mov ebx, eax
push str.NULL
mov dword [ebx + 0xdec41c], 0
lea ebx, [ebx + 0xdec318]
push ebx
call fcn.004f61e0
add esp, 8
test eax, eax
je 0x40d845
push ebx
call fcn.004fa6c0
add esp, 4
push eax
push 0xd09fb0
call fcn.004fa6c0
add esp, 4
push eax
push 0xd52ffc
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0xfc8]
push eax
push 0x514784
push edx
call fcn.004f175f
mov edi, str.NULL
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x648]
push ecx
call fcn.00401440
add esp, 0x18
lea edx, [ebp - 0x648]
lea eax, [ebp - 0xfc8]
lea ecx, [ebp - 0xbc8]
push edx
push eax
push 0x51479c
push ecx
call fcn.004f175f
mov edx, dword [ebp - 0x2ec]
add esp, 0x10
mov eax, dword [edx + 4]
mov eax, dword [ebp + eax - 0x2e8]
cmp dword [eax + 0x30], 0xffffffff
je 0x40d845
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
inc eax
mov dword [edx + 0xdec420], 0
mov dword [ebp - 0x18], eax
jmp 0x40d72d
lea ecx, [ebp - 0x2ec]
call fcn.004f076e
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 4], 9
or edi, 0xffffffff
jmp 0x40ac94