Function at 0x401338
Capabilities:
Query environment variable

Disassembly:
push esi
push ebx
mov eax, 0x1434
call fcn.0041ce38
sub esp, eax
mov eax, dword [esp + 0x1444]
mov byte [esp + 0x3c], al
cmp dword [esp + 0x144c], 0
jle 0x401103
mov edx, dword [0x41e7c8]
mov eax, dword [esp + 0x1440]
cmp edx, eax
jne 0x401103
mov eax, dword [esp + 0x144c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1448]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1448]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x427280
mov dword [esp], 0x4274a0
call fcn.004057d1
movzx eax, byte [esp + 0x3c]
sub eax, 0x97
cmp eax, 0x51
ja case.0x40111d.152
mov eax, dword [eax*4 + 0x41e914]
jmp eax
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x1440]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b45
mov eax, dword [esp + 0x1448]
lea edx, [eax + 0x20]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040eac5
test al, al
je 0x401318
mov dword [esp + 4], 0x40
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0041afae
mov dword [esp + 4], 0x40
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.0041af28
mov dword [esp + 4], 0x200
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.0041b66a
mov byte [esp + 0x3c8], 0x25
mov byte [esp + 0x3c9], 0x63
mov byte [esp + 0x3ca], 0x25
mov byte [esp + 0x3cb], 0x2e
mov byte [esp + 0x3cc], 0x38
mov byte [esp + 0x3cd], 0x78
mov byte [esp + 0x3ce], 0x25
mov byte [esp + 0x3cf], 0x73
mov byte [esp + 0x3d0], 7
mov byte [esp + 0x3d1], 0x25
mov byte [esp + 0x3d2], 0x73
mov byte [esp + 0x3d3], 0x20
mov byte [esp + 0x3d4], 0x40
mov byte [esp + 0x3d5], 0x20
mov byte [esp + 0x3d6], 0x25
mov byte [esp + 0x3d7], 0x73
mov byte [esp + 0x3d8], 7
mov byte [esp + 0x3d9], 0x25
mov byte [esp + 0x3da], 0x73
mov byte [esp + 0x3db], 7
mov byte [esp + 0x3dc], 0x25
mov byte [esp + 0x3dd], 0x73
mov byte [esp + 0x3de], 7
mov byte [esp + 0x3df], 0
mov dword [esp + 0x24], 0x427244
lea eax, [esp + 0x184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x427224
mov dword [esp + 0x10], 0x1076100
mov dword [esp + 0xc], 1
lea eax, [esp + 0x3c8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 0x142c], eax
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x1440]
mov ecx, dword [esp + 0x142c]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x3e0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b45
mov dword [esp], 0x2710
call fcn.0040b294
lea eax, [esp + 0x1440]
mov dword [esp], eax
call fcn.00408d8a
jmp 0x402b45
mov dword [esp], 0x61c
call sub.msvcrt.dll_malloc
mov dword [esp + 0x1428], eax
cmp dword [esp + 0x1428], 0
je 0x402b1a
mov eax, dword [esp + 0x1428]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1428]
add eax, 0x204
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov edx, dword [esp + 0x1428]
mov dword [edx + 0x610], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp], 0x41e8f8
call sub.msvcrt.dll_getenv
mov ebx, eax
mov dword [esp], str._6_6.dfd
call fcn.0040b60e
mov edx, dword [esp + 0x1428]
lea ecx, [edx + 0x408]
lea edx, [esp + 0x3e0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x204
mov dword [esp], ecx
call fcn.00419fa8
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x1428]
mov dword [eax + 0x618], edx
mov eax, dword [esp + 0x1428]
mov dword [eax + 0x614], 0
mov eax, dword [esp + 0x1428]
mov dword [esp + 4], eax
mov dword [esp], 0x41ca8f
call fcn.0040b2ab
jmp 0x402b1a
mov dword [esp + 8], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0041a907
mov eax, dword [esp + 0x1440]
lea edx, [esp + 0x3e0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041c954
jmp 0x402b45
lea eax, [esp + 0x1440]
mov dword [esp], eax
call fcn.00408d8a
call section..text
call fcn.0040cb3e
call sub.WS2_32.dll_WSACleanup
mov dword [esp], 0
call sub.KERNEL32.dll_ExitProcess
lea eax, [esp + 0x1440]
mov dword [esp], eax
call fcn.00408d8a
call section..text
mov dword [esp], 0x7d0
call fcn.0040b294
jmp 0x402b45
call fcn.0040c9af
lea eax, [esp + 0x1440]
mov dword [esp], eax
call fcn.00408d8a
call section..text
call fcn.0040cb3e
call sub.WS2_32.dll_WSACleanup
mov dword [esp], 0
call sub.KERNEL32.dll_ExitProcess
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
mov dword [esp], 0x427220
call fcn.0040cfcb
jmp 0x402b45
mov dword [esp], 0x61c
call sub.msvcrt.dll_malloc
mov dword [esp + 0x1424], eax
cmp dword [esp + 0x1424], 0
je 0x402b1d
mov eax, dword [esp + 0x1424]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1424]
add eax, 0x204
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov edx, dword [esp + 0x1424]
mov dword [edx + 0x610], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1424]
mov dword [esp + 8], 0x10
lea edx, [esp + 0x3b8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a7f6
mov dword [esp + 0x1420], eax
mov byte [esp + 0x3af], 0x25
mov byte [esp + 0x3b0], 0x73
mov byte [esp + 0x3b1], 0x5c
mov byte [esp + 0x3b2], 0x25
mov byte [esp + 0x3b3], 0x73
mov byte [esp + 0x3b4], 0x2e
mov byte [esp + 0x3b5], 0x25
mov byte [esp + 0x3b6], 0x73
mov byte [esp + 0x3b7], 0
mov byte [esp + 0x3a9], 0x25
mov byte [esp + 0x3aa], 0x73
mov byte [esp + 0x3ab], 0x5c
mov byte [esp + 0x3ac], 0x25
mov byte [esp + 0x3ad], 0x73
mov byte [esp + 0x3ae], 0
cmp dword [esp + 0x1420], 0
jle 0x4017ad
mov dword [esp], 0x41e8f8
call sub.msvcrt.dll_getenv
mov edx, dword [esp + 0x1424]
lea ecx, [edx + 0x408]
lea edx, [esp + 0x3b8]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x3e0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x3af]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x204
mov dword [esp], ecx
call fcn.00419fa8
jmp 0x4017f0
mov dword [esp], 0x41e8f8
call sub.msvcrt.dll_getenv
mov edx, dword [esp + 0x1424]
lea ecx, [edx + 0x408]
lea edx, [esp + 0x3e0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x3a9]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x204
mov dword [esp], ecx
call fcn.00419fa8
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 5
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
test eax, eax
setne dl
mov eax, dword [esp + 0x1424]
mov byte [eax + 0x60c], dl
mov eax, dword [esp + 0x1424]
mov dword [eax + 0x618], 0
mov eax, dword [esp + 0x1424]
mov dword [eax + 0x614], 0
mov eax, dword [esp + 0x1424]
mov dword [esp + 4], eax
mov dword [esp], fcn.0040d2de
call fcn.0040b2ab
nop
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.00409508
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp + 0x38c], eax
mov byte [esp + 0x389], 0xa7
mov byte [esp + 0x388], 0xa6
mov byte [esp + 0x390], 0
mov dword [esp + 8], 0x204
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.00419918
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.004095ed
nop
jmp 0x402b45
mov dword [esp], 0x230
call sub.msvcrt.dll_malloc
mov dword [esp + 0x141c], eax
cmp dword [esp + 0x141c], 0
je 0x402b20
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp + 0x1418], eax
add dword [esp + 0x1448], 1
mov eax, dword [esp + 0x141c]
mov dword [eax + 0x204], 0
mov eax, dword [esp + 0x141c]
mov byte [eax + 0x20c], 0xab
mov eax, dword [esp + 0x141c]
mov byte [eax + 0x20d], 0xac
mov eax, dword [esp + 0x141c]
mov byte [eax + 0x20e], 0xad
mov eax, dword [esp + 0x141c]
mov edx, dword [esp + 0x1418]
mov dword [eax + 0x208], edx
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x141c]
mov dword [eax + 0x210], edx
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [esp + 0x141c]
mov byte [eax + 0x228], dl
add dword [esp + 0x1448], 1
mov eax, dword [esp + 0x1418]
test eax, eax
je 0x401aab
cmp eax, 1
jne 0x401b54
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x141c]
mov dword [esp + 8], 0x204
mov dword [esp + 4], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.0041a907
mov eax, dword [esp + 0x141c]
mov dword [esp + 8], 0x204
lea edx, [esp + 0x184]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a682
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.0040ace1
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419dc2
mov ecx, dword [esp + 0x141c]
mov dword [ecx + 0x220], eax
mov dword [ecx + 0x224], edx
nop
jmp 0x401b54
mov eax, dword [esp + 0x141c]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419dc2
mov ecx, dword [esp + 0x141c]
mov dword [ecx + 0x220], eax
mov dword [ecx + 0x224], edx
mov eax, dword [esp + 0x141c]
mov dword [esp], eax
call fcn.0040ac70
mov ecx, dword [esp + 0x141c]
mov dword [ecx + 0x218], eax
mov dword [ecx + 0x21c], edx
nop
mov eax, dword [esp + 0x141c]
mov dword [esp + 4], eax
mov dword [esp], 0x41c150
call fcn.0040b2ab
jmp 0x402b45
mov edx, dword [esp + 0x144c]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041c8b6
jmp 0x402b45
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
call fcn.0041bca8
jmp 0x402b45
mov dword [esp], 0x214
call sub.msvcrt.dll_malloc
mov dword [esp + 0x1414], eax
cmp dword [esp + 0x1414], 0
je 0x402b23
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp + 0x1410], eax
add dword [esp + 0x1448], 1
mov eax, dword [esp + 0x1414]
mov edx, dword [esp + 0x1410]
mov dword [eax + 0x204], edx
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x1414]
mov dword [eax + 0x208], edx
mov eax, dword [esp + 0x1414]
mov byte [eax + 0x210], 1
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [esp + 0x1414]
mov dword [eax + 0x20c], edx
add dword [esp + 0x1448], 1
mov eax, dword [esp + 0x1414]
mov dword [esp + 8], 0x204
mov edx, dword [esp + 0x1448]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00419918
mov eax, dword [esp + 0x1414]
mov dword [esp + 4], eax
mov dword [esp], 0x41bf87
call fcn.0040b2ab
jmp 0x402b45
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
call fcn.0041bca8
jmp 0x402b45
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [esp + 0x1440]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041929e
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp], eax
call fcn.004193e3
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp], eax
call fcn.004193b1
jmp 0x402b45
mov dword [esp + 8], 6
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
lea eax, [esp + 0x3a2]
mov dword [esp], eax
call fcn.0041a5e1
mov eax, dword [esp + 0x3a2]
mov dword [esp], eax
movzx eax, word [esp + 0x3a6]
mov word [esp + 4], ax
call fcn.004194ea
nop
jmp 0x402b45
mov dword [esp + 8], 6
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
lea eax, [esp + 0x39c]
mov dword [esp], eax
call fcn.0041a5e1
mov eax, dword [esp + 0x39c]
mov dword [esp], eax
movzx eax, word [esp + 0x3a0]
mov word [esp + 4], ax
call fcn.00419415
nop
jmp 0x402b45
mov dword [esp], 0x40
call fcn.0040b97c
xor eax, 1
test al, al
je 0x401dc5
mov eax, dword [esp + 0x1440]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0xcd
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp + 0x38c], eax
mov byte [esp + 0x388], 0xcc
mov byte [esp + 0x389], 0xcd
mov byte [esp + 0x390], 0
mov dword [esp + 0xc], 0x41e720
mov dword [esp + 8], 0x41e907
mov dword [esp + 4], 0x204
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.00419fa8
lea eax, [esp + 0x184]
mov dword [esp], eax
call fcn.004095ed
nop
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x1448]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040e4f3
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0040e67d
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0040e76e
mov dword [esp + 0x140c], eax
mov eax, dword [esp + 0x140c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1448]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._s_a_d
mov dword [esp + 4], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 0x1408], eax
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x1408]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x3e0]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xce
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b45
mov dword [esp], 0x40a
call sub.msvcrt.dll_malloc
mov dword [esp + 0x1404], eax
cmp dword [esp + 0x1404], 0
je 0x402b26
mov eax, dword [esp + 0x1448]
add eax, 1
movzx eax, byte [eax]
cmp al, 1
sete dl
mov eax, dword [esp + 0x1404]
mov byte [eax + 0x408], dl
mov eax, dword [esp + 0x1404]
mov edx, dword [esp + 0x1448]
add edx, 2
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov dword [esp], edx
call fcn.00419a6a
mov eax, dword [esp + 0x1404]
lea edx, [eax + 0x204]
mov eax, dword [esp + 0x1448]
add eax, 2
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], edx
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1404]
mov byte [eax + 0x409], 1
mov eax, dword [esp + 0x1404]
mov dword [esp + 4], eax
mov dword [esp], 0x40ac05
call fcn.0040b2ab
jmp 0x402b45
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x104
lea eax, [esp + 0x184]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x40
lea eax, [esp + 0x80]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp + 8], eax
lea eax, [esp + 0x184]
mov dword [esp + 4], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.0040a8af
nop
jmp 0x402b45
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x104
lea eax, [esp + 0x184]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x184]
mov dword [esp + 4], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.0040aa11
test al, al
je 0x402b29
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x144c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xb0
mov dword [esp], eax
call fcn.00408b8f
nop
jmp 0x402b29
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0040a9af
test al, al
je 0x402b2c
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x144c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xb1
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b2c
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0040acbe
test al, al
je 0x402b2f
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x144c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xb2
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b2f
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0040adee
test al, al
je 0x402b32
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x144c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xb3
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b32
mov dword [esp], 0x314
call sub.msvcrt.dll_malloc
mov dword [esp + 0x1400], eax
cmp dword [esp + 0x1400], 0
je 0x402b35
mov eax, dword [esp + 0x1400]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1400]
add eax, 0x204
mov dword [esp + 0x10], 0x104
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x1400]
mov dword [eax + 0x308], 0
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x1400]
mov dword [eax + 0x30c], edx
mov eax, dword [esp + 0x1400]
mov byte [eax + 0x310], 1
mov eax, dword [esp + 0x1400]
mov dword [esp + 4], eax
mov dword [esp], fcn.00409abc
call fcn.0040b2ab
mov dword [0x42432c], eax
jmp 0x402b45
mov dword [0x42432c], 0
jmp 0x402b45
mov dword [esp], 0x210
call sub.msvcrt.dll_malloc
mov dword [esp + 0x13fc], eax
cmp dword [esp + 0x13fc], 0
je 0x402b38
mov eax, dword [esp + 0x13fc]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x13fc]
mov dword [eax + 0x204], 0
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x13fc]
mov dword [eax + 0x208], edx
mov eax, dword [esp + 0x13fc]
mov byte [eax + 0x20d], 1
movzx eax, byte [esp + 0x3e0]
test al, al
setne dl
mov eax, dword [esp + 0x13fc]
mov byte [eax + 0x20c], dl
mov eax, dword [esp + 0x13fc]
mov dword [esp + 4], eax
mov dword [esp], fcn.0040a146
call fcn.0040b2ab
mov dword [0x424330], eax
jmp 0x402b45
mov dword [0x424330], 0
jmp 0x402b45
mov dword [esp], 8
call sub.msvcrt.dll_malloc
mov dword [esp + 0x13f8], eax
cmp dword [esp + 0x13f8], 0
je 0x402b3b
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x13f8]
mov dword [eax], edx
mov eax, dword [esp + 0x1448]
movzx eax, byte [eax]
test al, al
setne dl
mov eax, dword [esp + 0x13f8]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x13f8]
mov dword [esp + 4], eax
mov dword [esp], 0x417e8c
call fcn.0040b2ab
mov dword [0x4245c8], eax
jmp 0x402b45
mov dword [0x4245c8], 0
jmp 0x402b45
mov eax, dword [esp + 0x144c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00418352
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.0041b927
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.0040ebb8
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.00415ea4
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.004162f6
test al, al
je 0x402b3e
mov eax, dword [esp + 0x1440]
mov edx, dword [esp + 0x144c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1448]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xc0
mov dword [esp], eax
call fcn.00408b8f
jmp 0x402b3e
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.0041cbf3
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.0041ccf4
jmp 0x402b45
mov dword [esp], 0x61c
call sub.msvcrt.dll_malloc
mov dword [esp + 0x13f4], eax
cmp dword [esp + 0x13f4], 0
je 0x402b41
mov eax, dword [esp + 0x13f4]
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x13f4]
add eax, 0x204
mov dword [esp + 0x10], 0x204
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
mov eax, dword [esp + 0x13f4]
add eax, 0x408
mov dword [esp + 8], 0x204
mov dword [esp + 4], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.0041a907
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov edx, dword [esp + 0x13f4]
mov dword [edx + 0x610], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 5
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
test eax, eax
setne dl
mov eax, dword [esp + 0x13f4]
mov byte [eax + 0x60c], dl
mov edx, dword [esp + 0x1440]
mov eax, dword [esp + 0x13f4]
mov dword [eax + 0x618], edx
mov eax, dword [esp + 0x13f4]
mov dword [esp + 4], eax
mov dword [esp], fcn.0040d2de
call fcn.0040b2ab
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419d08
movzx ecx, al
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004158f7
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419d08
movzx ecx, al
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00415cf0
jmp 0x402b45
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419d08
movzx ecx, al
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00415db3
jmp 0x402b45
mov dword [esp], 0xc
call sub.msvcrt.dll_malloc
mov dword [esp + 0x13f0], eax
cmp dword [esp + 0x13f0], 0
je 0x402b44
mov eax, dword [esp + 0x13f0]
lea edx, [eax + 4]
mov dword [esp + 8], 4
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041a5e1
mov eax, dword [esp + 0x1448]
lea edx, [eax + 4]
mov eax, dword [esp + 0x13f0]
add eax, 8
mov dword [esp + 8], 4
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a5e1
mov eax, dword [esp + 0x13f0]
mov dword [esp + 4], eax
mov dword [esp], 0x418d95
call fcn.0040b2ab
jmp 0x402b44
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.00402e79
jmp 0x402b45
mov dword [esp + 8], 4
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
lea eax, [esp + 0x398]
mov dword [esp], eax
call fcn.0041a5e1
mov eax, dword [esp + 0x1448]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x398]
mov eax, dword [esp + 0x1440]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004176e3
nop
jmp 0x402b45
mov dword [esp + 8], 4
mov eax, dword [esp + 0x1448]
mov dword [esp + 4], eax
lea eax, [esp + 0x394]
mov dword [esp], eax
call fcn.0041a5e1
add dword [esp + 0x1448], 4
mov dword [esp + 0x13ec], 0
mov dword [esp + 0x10], 0x204
lea eax, [esp + 0x184]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x184]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x13ec]
add eax, edx
add eax, 1
mov dword [esp + 0x13ec], eax
mov dword [esp + 0x10], 0x104
lea eax, [esp + 0x80]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x80]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x13ec]
add eax, edx
add eax, 1
mov dword [esp + 0x13ec], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp + 0x13e8], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x13ec]
add eax, edx
add eax, 1
mov dword [esp + 0x13ec], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp + 0x13e4], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x13ec]
add eax, edx
add eax, 1
mov dword [esp + 0x13ec], eax
mov dword [esp + 0x10], 0x1000
lea eax, [esp + 0x3e0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 5
mov dword [esp + 4], 7
mov eax, dword [esp + 0x1448]
mov dword [esp], eax
call fcn.00419a6a
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call fcn.00419d08
mov dword [esp + 0x13e0], eax
lea eax, [esp + 0x3e0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x13ec]
add eax, edx
add eax, 1
mov dword [esp + 0x13ec], eax
mov edx, dword [esp + 0x13ec]
mov eax, dword [esp + 0x1448]
lea esi, [edx + eax]
mov ecx, dword [esp + 0x13e8]
mov edx, dword [esp + 0x394]
mov eax, dword [esp + 0x1440]
mov ebx, dword [esp + 0x13e4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x13e0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x184]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00417830
nop
jmp 0x402b45
mov eax, dword [esp + 0x1440]
mov dword [esp], eax
call fcn.004091dc
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
jmp 0x402b45
nop
nop
nop
add esp, 0x1434
pop ebx
pop esi
ret