Function at 0x411b70
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x258
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call fcn.00402710
lea ecx, [esp + 0x253]
call fcn.004134a0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x252]
call fcn.00413550
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f156]
mov dword [esp + 0x24e], eax
lea ecx, [esp + 0x24d]
call fcn.00413600
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x411c46
lea eax, [esp + 0x24e]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x248], eax
cmp dword [esp + 0x248], 0
jne 0x411c3f
lea ecx, [esp + 0x247]
call fcn.004136b0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x248]
lea ecx, [esp + 0x246]
call fcn.00413760
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x245]
call fcn.00413810
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x244]
call fcn.004138c0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f15a]
mov dword [esp + 0x240], eax
lea ecx, [esp + 0x23f]
call fcn.00413970
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x411d1f
lea eax, [esp + 0x240]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x238], eax
cmp dword [esp + 0x238], 0
jne 0x411d18
lea ecx, [esp + 0x237]
call fcn.00413a20
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x238]
lea ecx, [esp + 0x236]
call fcn.00413ad0
mov ecx, eax
call fcn.00401e00
mov ecx, eax
mov eax, esp
mov dword [eax], ecx
call fcn.00401450
mov dword [esp + 0x230], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov ecx, dword [esp + 0x228]
mov eax, dword [esp + 0x22c]
mov edx, dword [ebp + 0xc]
sub ecx, edx
sbb eax, 0
jge 0x411dcf
jmp 0x411d7f
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x228]
movsx eax, byte [eax + ecx]
imul eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x230]
mov ecx, 0xaaaaaaab
mul ecx
mov eax, dword [esp + 0x28]
shr edx, 1
add eax, edx
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x22c]
add dword [esp + 0x228], 1
adc eax, 0
mov dword [esp + 0x22c], eax
jmp 0x411d5e
lea ecx, [esp + 0x227]
call fcn.00413b80
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x226]
call fcn.00413c30
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f15e]
mov dword [esp + 0x222], eax
lea ecx, [esp + 0x221]
call fcn.00413ce0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x411e8d
lea eax, [esp + 0x222]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x21c], eax
cmp dword [esp + 0x21c], 0
jne 0x411e86
lea ecx, [esp + 0x21b]
call fcn.00413d90
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x21c]
lea ecx, [esp + 0x21a]
call fcn.00413e40
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x20c], 0
lea ecx, [esp + 0x20b]
call fcn.00413ef0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x20a]
call fcn.00413fa0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f162]
mov dword [esp + 0x206], eax
lea ecx, [esp + 0x205]
call fcn.00414050
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x411f87
lea eax, [esp + 0x206]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x200], eax
cmp dword [esp + 0x200], 0
jne 0x411f80
lea ecx, [esp + 0x1ff]
call fcn.00414100
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x200]
lea ecx, [esp + 0x1fe]
call fcn.004141b0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004039d0
mov dword [esp + 0x1f8], eax
cmp dword [esp + 0x1f8], 0
jne 0x4120a9
lea ecx, [esp + 0x1f7]
call fcn.00414260
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1f6]
call fcn.00414310
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f166]
mov dword [esp + 0x1f2], eax
lea ecx, [esp + 0x1f1]
call fcn.004143c0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412080
lea eax, [esp + 0x1f2]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1ec], eax
cmp dword [esp + 0x1ec], 0
jne 0x412079
lea ecx, [esp + 0x1eb]
call fcn.00414470
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x1ec]
lea ecx, [esp + 0x1ea]
call fcn.00414520
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
xor eax, eax
mov dword [esp], 0
call sub.msvcrt.dll_exit
lea ecx, [esp + 0x1e5]
call fcn.004145d0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1e4]
call fcn.00414680
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f16a]
mov dword [esp + 0x1e0], eax
lea ecx, [esp + 0x1df]
call fcn.00414730
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412167
lea eax, [esp + 0x1e0]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1d8], eax
cmp dword [esp + 0x1d8], 0
jne 0x412160
lea ecx, [esp + 0x1d7]
call fcn.004147e0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x1d8]
lea ecx, [esp + 0x1d6]
call fcn.00414890
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00404f20
mov dword [esp + 0x1d0], eax
lea ecx, [esp + 0x1cf]
call fcn.00414940
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1ce]
call fcn.004149f0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f16e]
mov dword [esp + 0x1ca], eax
lea ecx, [esp + 0x1c9]
call fcn.00414aa0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x41225a
lea eax, [esp + 0x1ca]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1c4], eax
cmp dword [esp + 0x1c4], 0
jne 0x412253
lea ecx, [esp + 0x1c3]
call fcn.00414b50
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x1c4]
lea ecx, [esp + 0x1c2]
call fcn.00414c00
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x1f8]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x210], eax
lea ecx, [esp + 0x1c1]
call fcn.00414cb0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1c0]
call fcn.00414d60
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f172]
mov dword [esp + 0x1bc], eax
lea ecx, [esp + 0x1bb]
call fcn.00414e10
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412344
lea eax, [esp + 0x1bc]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1b4], eax
cmp dword [esp + 0x1b4], 0
jne 0x41233d
lea ecx, [esp + 0x1b3]
call fcn.00414ec0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x1b4]
lea ecx, [esp + 0x1b2]
call fcn.00414f70
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1b1]
call fcn.00415020
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1b0]
call fcn.004150d0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f176]
mov dword [esp + 0x1ac], eax
lea ecx, [esp + 0x1ab]
call fcn.00415180
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x41241d
lea eax, [esp + 0x1ac]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1a4], eax
cmp dword [esp + 0x1a4], 0
jne 0x412416
lea ecx, [esp + 0x1a3]
call fcn.00415230
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x1a4]
lea ecx, [esp + 0x1a2]
call fcn.004152e0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea eax, [esp + 0x192]
mov dword [esp], eax
call fcn.00415390
lea ecx, [esp + 0x192]
call fcn.004153b0
mov dword [esp], eax
call fcn.0040c5c0
mov dword [esp + 0x19c], eax
mov eax, dword [0x4a1514]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x17d]
mov dword [esp], eax
call fcn.004153c0
lea ecx, [esp + 0x17d]
call fcn.004153e0
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov ecx, dword [esp + 0x1f8]
mov ecx, dword [ecx + 0x34]
mov edx, 0xffffffff
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov eax, dword [0x4a1514]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x16b]
mov dword [esp], eax
call fcn.00415620
lea ecx, [esp + 0x16b]
call fcn.00415640
mov dword [esp], eax
call fcn.004153f0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x15e]
mov dword [esp], eax
call fcn.00415650
lea ecx, [esp + 0x15e]
call fcn.00415670
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x210]
mov ecx, dword [esp + 0x1f8]
mov ecx, dword [ecx + 0x50]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3000
mov dword [esp + 0xc], 0x40
call eax
sub esp, 0x10
mov dword [esp + 0x214], eax
cmp dword [esp + 0x214], 0
jne 0x412953
cmp dword [esp + 0x1d0], 0
jne 0x412668
lea ecx, [esp + 0x15d]
call fcn.00415680
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x15c]
call fcn.00415730
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f17a]
mov dword [esp + 0x158], eax
lea ecx, [esp + 0x157]
call fcn.004157e0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x41263f
lea eax, [esp + 0x158]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x150], eax
cmp dword [esp + 0x150], 0
jne 0x412638
lea ecx, [esp + 0x14f]
call fcn.00415890
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x150]
lea ecx, [esp + 0x14e]
call fcn.00415940
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
xor eax, eax
mov dword [esp], 0
call sub.msvcrt.dll_exit
lea ecx, [esp + 0x14d]
call fcn.004159f0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x14c]
call fcn.00415aa0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f17e]
mov dword [esp + 0x148], eax
lea ecx, [esp + 0x147]
call fcn.00415b50
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412726
lea eax, [esp + 0x148]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x140], eax
cmp dword [esp + 0x140], 0
jne 0x41271f
lea ecx, [esp + 0x13f]
call fcn.00415c00
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x140]
lea ecx, [esp + 0x13e]
call fcn.00415cb0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x1f8]
mov ecx, dword [ecx + 0x50]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3000
mov dword [esp + 0xc], 0x40
call eax
sub esp, 0x10
mov dword [esp + 0x214], eax
lea ecx, [esp + 0x13d]
call fcn.00415d60
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x13c]
call fcn.00415e10
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f182]
mov dword [esp + 0x138], eax
lea ecx, [esp + 0x137]
call fcn.00415ec0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412839
lea eax, [esp + 0x138]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x130], eax
cmp dword [esp + 0x130], 0
jne 0x412832
lea ecx, [esp + 0x12f]
call fcn.00415f70
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x130]
lea ecx, [esp + 0x12e]
call fcn.00416020
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
cmp dword [esp + 0x214], 0
jne 0x412949
lea ecx, [esp + 0x12d]
call fcn.004160d0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x12c]
call fcn.00416180
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f186]
mov dword [esp + 0x128], eax
lea ecx, [esp + 0x127]
call fcn.00416230
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412920
lea eax, [esp + 0x128]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x120], eax
cmp dword [esp + 0x120], 0
jne 0x412919
lea ecx, [esp + 0x11f]
call fcn.004162e0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x120]
lea ecx, [esp + 0x11e]
call fcn.00416390
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
xor eax, eax
mov dword [esp], 0
call sub.msvcrt.dll_exit
jmp 0x41294e
jmp 0x412953
lea ecx, [esp + 0x119]
call fcn.00416440
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x118]
call fcn.004164f0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f18a]
mov dword [esp + 0x114], eax
lea ecx, [esp + 0x113]
call fcn.004165a0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412a11
lea eax, [esp + 0x114]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x10c], eax
cmp dword [esp + 0x10c], 0
jne 0x412a0a
lea ecx, [esp + 0x10b]
call fcn.00416650
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x10c]
lea ecx, [esp + 0x10a]
call fcn.00416700
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0x1f8]
mov dword [eax + 0x34], ecx
lea ecx, [esp + 0x109]
call fcn.004167b0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x108]
call fcn.00416860
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f18e]
mov dword [esp + 0x104], eax
lea ecx, [esp + 0x103]
call fcn.00416910
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412afb
lea eax, [esp + 0x104]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xfc], eax
cmp dword [esp + 0xfc], 0
jne 0x412af4
lea ecx, [esp + 0xfb]
call fcn.004169c0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xfc]
lea ecx, [esp + 0xfa]
call fcn.00416a70
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov edx, dword [esp + 0x214]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x1f8]
mov eax, dword [eax + 0x54]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
lea ecx, [esp + 0xf9]
call fcn.00416b20
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xf8]
call fcn.00416bd0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f192]
mov dword [esp + 0xf4], eax
lea ecx, [esp + 0xf3]
call fcn.00416c80
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412bf8
lea eax, [esp + 0xf4]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xec], eax
cmp dword [esp + 0xec], 0
jne 0x412bf1
lea ecx, [esp + 0xeb]
call fcn.00416d30
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xec]
lea ecx, [esp + 0xea]
call fcn.00416de0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xe9]
call fcn.00416e90
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xe8]
call fcn.00416f40
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f196]
mov dword [esp + 0xe4], eax
lea ecx, [esp + 0xe3]
call fcn.00416ff0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412cd1
lea eax, [esp + 0xe4]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xdc], eax
cmp dword [esp + 0xdc], 0
jne 0x412cca
lea ecx, [esp + 0xdb]
call fcn.004170a0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xdc]
lea ecx, [esp + 0xda]
call fcn.00417150
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x1f8]
add eax, 0xf8
mov dword [esp + 0xd4], eax
lea ecx, [esp + 0xd3]
call fcn.00417200
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xd2]
call fcn.004172b0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f19a]
mov dword [esp + 0xce], eax
lea ecx, [esp + 0xcd]
call fcn.00417360
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412dbd
lea eax, [esp + 0xce]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xc8], eax
cmp dword [esp + 0xc8], 0
jne 0x412db6
lea ecx, [esp + 0xc7]
call fcn.00417410
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xc8]
lea ecx, [esp + 0xc6]
call fcn.004174c0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x1f8]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x412f42
lea ecx, [esp + 0xbf]
call fcn.00417570
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xbe]
call fcn.00417620
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f19e]
mov dword [esp + 0xba], eax
lea ecx, [esp + 0xb9]
call fcn.004176d0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x412ebb
lea eax, [esp + 0xba]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xb4], eax
cmp dword [esp + 0xb4], 0
jne 0x412eb4
lea ecx, [esp + 0xb3]
call fcn.00417780
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xb4]
lea ecx, [esp + 0xb2]
call fcn.00417830
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov edx, dword [esp + 0x214]
mov eax, dword [esp + 0xd4]
imul ecx, dword [esp + 0xc0], 0x28
add eax, ecx
add edx, dword [eax + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xd4]
imul esi, dword [esp + 0xc0], 0x28
add eax, esi
add ecx, dword [eax + 0x14]
mov eax, dword [esp + 0xd4]
imul esi, dword [esp + 0xc0], 0x28
add eax, esi
mov eax, dword [eax + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0xc0]
add eax, 1
mov dword [esp + 0xc0], eax
jmp 0x412de3
lea ecx, [esp + 0xb1]
call fcn.004178e0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xb0]
call fcn.00417990
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1a2]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xab]
call fcn.00417a40
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x413000
lea eax, [esp + 0xac]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0xa4], eax
cmp dword [esp + 0xa4], 0
jne 0x412ff9
lea ecx, [esp + 0xa3]
call fcn.00417af0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0xa4]
lea ecx, [esp + 0xa2]
call fcn.00417ba0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xa1]
call fcn.00417c50
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0xa0]
call fcn.00417d00
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1a6]
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x9b]
call fcn.00417db0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x4130d9
lea eax, [esp + 0x9c]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x94], eax
cmp dword [esp + 0x94], 0
jne 0x4130d2
lea ecx, [esp + 0x93]
call fcn.00417e60
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x94]
lea ecx, [esp + 0x92]
call fcn.00417f10
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x214]
mov dword [esp], eax
call fcn.00406880
lea ecx, [esp + 0x91]
call fcn.00417fc0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x90]
call fcn.00418070
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1aa]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x8b]
call fcn.00418120
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x4131c1
lea eax, [esp + 0x8c]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x84], eax
cmp dword [esp + 0x84], 0
jne 0x4131ba
lea ecx, [esp + 0x83]
call fcn.004181d0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x84]
lea ecx, [esp + 0x82]
call fcn.00418280
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x1f8]
add eax, dword [ecx + 0x28]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x7b]
call fcn.00418330
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x7a]
call fcn.004183e0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1ae]
mov dword [esp + 0x76], eax
lea ecx, [esp + 0x75]
call fcn.00418490
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x413294
lea eax, [esp + 0x76]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
jne 0x413290
lea ecx, [esp + 0x6f]
call fcn.00418540
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x70]
lea ecx, [esp + 0x6e]
call fcn.004185f0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x6d]
call fcn.004186a0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x6c]
call fcn.00418750
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1b2]
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x67]
call fcn.00418800
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x41334f
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x60], eax
cmp dword [esp + 0x60], 0
jne 0x41334b
lea ecx, [esp + 0x5f]
call fcn.004188b0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x60]
lea ecx, [esp + 0x5e]
call fcn.00418960
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x57]
call fcn.00418a10
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x56]
call fcn.00418ac0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f1b6]
mov dword [esp + 0x52], eax
lea ecx, [esp + 0x51]
call fcn.00418b70
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x41340a
lea eax, [esp + 0x52]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x4c], 0
jne 0x413406
lea ecx, [esp + 0x4b]
call fcn.00418c20
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [esp + 0x4c]
lea ecx, [esp + 0x4a]
call fcn.00418cd0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x4a1514]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3f]
mov dword [esp], eax
call fcn.00418d80
lea ecx, [esp + 0x3f]
call fcn.00418da0
mov dword [esp], eax
call fcn.004153f0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x2d]
mov dword [esp], eax
call fcn.00418db0
lea ecx, [esp + 0x2d]
call fcn.00418dd0
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x7c]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call eax
lea esp, [ebp - 4]
pop esi
pop ebp
ret