Function at 0x44b3a0
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x578
mov dword [esp + 0x56c], ecx
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x55b]
mov dword [esp], eax
call fcn.00415620
lea ecx, [esp + 0x55b]
call fcn.00415640
mov dword [esp], eax
call fcn.004153f0
mov dword [esp + 0x70], eax
lea eax, [esp + 0x542]
mov dword [esp], eax
call fcn.0044c880
lea ecx, [esp + 0x542]
call fcn.0044c8a0
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00428d30
mov dword [esp + 0x568], eax
lea eax, [esp + 0x52f]
mov dword [esp], eax
call fcn.00415620
lea ecx, [esp + 0x52f]
call fcn.00415640
mov dword [esp], eax
call fcn.004153f0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x520]
mov dword [esp], eax
call fcn.0044c8b0
lea ecx, [esp + 0x520]
call fcn.0044c8d0
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 0x53c], eax
lea eax, [esp + 0x50f]
mov dword [esp], eax
call fcn.00415620
lea ecx, [esp + 0x50f]
call fcn.00415640
mov dword [esp], eax
call fcn.004153f0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x501]
mov dword [esp], eax
call fcn.0044c8e0
lea ecx, [esp + 0x501]
call fcn.0044c900
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 0x51c], eax
mov eax, dword [esp + 0x568]
mov dword [esp + 0x7c], eax
call fcn.0041f450
mov word [esp + 0x4fa], ax
lea ecx, [esp + 0x4fa]
call fcn.0041f470
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp], 2
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [esp + 0x4fc], eax
lea ecx, [esp + 0x4f9]
call fcn.0044c910
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x4f8]
call fcn.0044c9c0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x4936e0]
mov dword [esp + 0x4f4], eax
lea ecx, [esp + 0x4f3]
call fcn.0044ca70
mov ecx, eax
call fcn.00401c20
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x44b5d9
lea eax, [esp + 0x4f4]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x4ec], eax
cmp dword [esp + 0x4ec], 0
jne 0x44b5d2
lea ecx, [esp + 0x4eb]
call fcn.0044cb20
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 + 0x4ec]
lea ecx, [esp + 0x4ea]
call fcn.0044cbd0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, 0xffffffff
cmp eax, dword [esp + 0x4fc]
jne 0x44b735
call fcn.0044cc80
mov dword [esp + 0x4e6], edx
mov dword [esp + 0x4e2], eax
lea ecx, [esp + 0x4e2]
call fcn.0044cca0
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4ab]
mov dword [esp], eax
call fcn.0044ccb0
lea ecx, [esp + 0x4ab]
call fcn.0044ccd0
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x11
call fcn.00401e20
lea ecx, [esp + 0x4aa]
call fcn.0044cce0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x4a9]
call fcn.0044cd90
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x4936e4]
mov dword [esp + 0x4a5], eax
lea ecx, [esp + 0x4a4]
call fcn.0044ce40
mov ecx, eax
call fcn.00401c20
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x44b71a
lea eax, [esp + 0x4a5]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x4a0], eax
cmp dword [esp + 0x4a0], 0
jne 0x44b713
lea ecx, [esp + 0x49f]
call fcn.0044cef0
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 + 0x4a0]
lea ecx, [esp + 0x49e]
call fcn.0044cfa0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [esp + 0x6c]
test byte [eax], 1
je 0x44b7e4
call fcn.0044d050
mov dword [esp + 0x64], eax
lea eax, [esp + 0x499]
mov dword [esp], eax
call fcn.0044d130
lea ecx, [esp + 0x499]
call fcn.0044d150
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x64]
cmp eax, ecx
jge 0x44b7df
call fcn.0044cc80
mov dword [esp + 0x495], edx
mov dword [esp + 0x491], eax
lea ecx, [esp + 0x491]
call fcn.0044cca0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x45a]
mov dword [esp], eax
call fcn.0044ccb0
lea ecx, [esp + 0x45a]
call fcn.0044ccd0
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x31
call fcn.00401e20
mov byte [esp + 0x573], 0
jmp 0x44c093
jmp 0x44b7e4
lea eax, [esp + 0x22c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x22c
call sub.msvcrt.dll_memset
mov dword [esp + 0x22c], 0x22c
mov dword [esp + 0x228], 0xffffffff
mov eax, dword [esp + 0x53c]
mov edx, dword [esp + 0x4fc]
lea ecx, [esp + 0x22c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [esp + 0x224], eax
cmp dword [esp + 0x224], 0
je 0x44b88f
mov eax, dword [esp + 0x228]
add eax, 1
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x51c]
mov edx, dword [esp + 0x4fc]
lea ecx, [esp + 0x22c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [esp + 0x224], eax
jmp 0x44b843
mov eax, dword [esp + 0x228]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x221]
mov dword [esp], eax
call fcn.0041f820
lea ecx, [esp + 0x221]
call fcn.0041f840
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x5c]
cmp eax, ecx
jg 0x44b92e
call fcn.0044cc80
mov dword [esp + 0x21d], edx
mov dword [esp + 0x219], eax
lea ecx, [esp + 0x219]
call fcn.0044cca0
mov dword [esp + 0x58], eax
lea eax, [esp + 0x1dd]
mov dword [esp], eax
call fcn.0044d160
lea ecx, [esp + 0x1dd]
call fcn.0044d180
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
call fcn.00401e20
mov byte [esp + 0x573], 0
jmp 0x44c093
lea ecx, [esp + 0x1dc]
call fcn.0044d190
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x1db]
call fcn.0044d240
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x4936e8]
mov dword [esp + 0x1d7], eax
lea ecx, [esp + 0x1d6]
call fcn.0044d2f0
mov ecx, eax
call fcn.00401c20
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x44b9ec
lea eax, [esp + 0x1d7]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x1d0], eax
cmp dword [esp + 0x1d0], 0
jne 0x44b9e5
lea ecx, [esp + 0x1cf]
call fcn.0044d3a0
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 + 0x1d0]
lea ecx, [esp + 0x1ce]
call fcn.0044d450
mov ecx, eax
call fcn.00401e00
mov ecx, eax
mov eax, esp
mov dword [eax], ecx
call fcn.00401450
mov ecx, dword [esp + 0x6c]
call fcn.0044d500
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c0], eax
call fcn.0044d500
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1b8], ecx
test byte [eax + 9], 1
je 0x44bae4
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
sub ecx, esi
sbb eax, edx
sub ecx, 0x1f5
sbb eax, 0
jb 0x44badf
jmp 0x44ba7c
call fcn.0044cc80
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x1b0]
call fcn.0044cca0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x173]
mov dword [esp], eax
call fcn.0044d530
lea ecx, [esp + 0x173]
call fcn.0044d550
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
call fcn.00401e20
mov byte [esp + 0x573], 0
jmp 0x44c093
jmp 0x44bae4
mov eax, dword [esp + 0x6c]
test byte [eax + 2], 1
jne 0x44bb00
mov eax, dword [esp + 0x6c]
test byte [eax + 1], 1
je 0x44c08b
lea ecx, [esp + 0x172]
call fcn.0044d560
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [esp + 0x171]
call fcn.0044d610
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [str.P__k]
mov dword [esp + 0x16d], eax
lea ecx, [esp + 0x16c]
call fcn.0044d6c0
mov ecx, eax
call fcn.00401c20
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x44bbbe
lea eax, [esp + 0x16d]
mov dword [esp], eax
call fcn.00401c40
mov dword [esp + 0x168], eax
cmp dword [esp + 0x168], 0
jne 0x44bbb7
lea ecx, [esp + 0x167]
call fcn.0044d770
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 + 0x168]
lea ecx, [esp + 0x166]
call fcn.0044d820
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
lea eax, [esp + 0x154]
mov dword [esp + 0x44], eax
call fcn.0044d930
mov word [esp + 0x152], ax
lea ecx, [esp + 0x152]
call fcn.0044d950
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0044d8d0
sub esp, 8
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x4c], eax
call fcn.0044d930
mov word [esp + 0x150], ax
lea ecx, [esp + 0x150]
call fcn.0044d950
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x14d]
mov dword [esp], eax
call fcn.0044d960
lea ecx, [esp + 0x14d]
call fcn.0044d980
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x48]
shl eax, cl
mov ecx, dword [esp + 0x4c]
and ecx, eax
xor eax, eax
cmp ecx, 0
mov byte [esp + 0x53], al
jne 0x44bc97
mov eax, dword [esp + 0x6c]
mov al, byte [eax + 2]
mov byte [esp + 0x53], al
mov al, byte [esp + 0x53]
test al, 1
jne 0x44bca8
jmp 0x44bcb5
mov byte [esp + 0x573], 1
jmp 0x44c093
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x148], 0x40000000
mov dword [esp + 0x144], 0xd
lea eax, [esp + 0x154]
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
call fcn.0044d8d0
sub esp, 8
mov eax, dword [esp + 0x158]
mov dword [esp + 0x137], eax
lea eax, [esp + 0x137]
mov dword [esp + 0x2c], eax
call fcn.0041df80
mov word [esp + 0x135], ax
lea ecx, [esp + 0x135]
call fcn.0041dfa0
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x2c]
add eax, ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x154]
add eax, 8
mov dword [esp + 0x34], eax
call fcn.0041df80
mov word [esp + 0x133], ax
lea ecx, [esp + 0x133]
call fcn.0041dfa0
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
lea eax, [esp + 0x137]
mov dword [esp + 0x38], eax
call fcn.0041df50
mov word [esp + 0x131], ax
lea ecx, [esp + 0x131]
call fcn.0041df70
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x154]
add eax, 0xc
mov dword [esp + 0x40], eax
call fcn.0041df80
mov word [esp + 0x12f], ax
lea ecx, [esp + 0x12f]
call fcn.0041dfa0
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov byte [esp + 0x143], 0
cmp byte [0x49ec60], 0
jne 0x44bf61
lea eax, [0x49ec60]
mov dword [esp], eax
call fcn.004601b4
cmp eax, 0
je 0x44bf61
mov eax, esp
lea ecx, [esp + 0x122]
mov dword [eax], ecx
call fcn.0044d990
jmp 0x44be36
lea ecx, [esp + 0x122]
call fcn.0044d9b0
mov dword [esp + 0x28], eax
jmp 0x44be4b
mov eax, dword [esp + 0x28]
mov dword [0x4a2524], eax
mov eax, esp
lea ecx, [esp + 0x10b]
mov dword [eax], ecx
call fcn.0044d9c0
jmp 0x44be69
lea ecx, [esp + 0x10b]
call fcn.0044d9e0
mov dword [esp + 0x24], eax
jmp 0x44be7e
mov eax, dword [esp + 0x24]
mov dword [0x4a2528], eax
mov eax, esp
lea ecx, [esp + 0xfe]
mov dword [eax], ecx
call fcn.0044d9f0
jmp 0x44be9c
lea ecx, [esp + 0xfe]
call fcn.0044da10
mov dword [esp + 0x20], eax
jmp 0x44beb1
mov eax, dword [esp + 0x20]
mov dword [0x4a252c], eax
mov eax, esp
lea ecx, [esp + 0xf1]
mov dword [eax], ecx
call fcn.0044da20
jmp 0x44becf
lea ecx, [esp + 0xf1]
call fcn.0044da40
mov dword [esp + 0x1c], eax
jmp 0x44bee4
mov eax, dword [esp + 0x1c]
mov dword [0x4a2530], eax
mov eax, esp
lea ecx, [esp + 0xe4]
mov dword [eax], ecx
call fcn.0044da50
jmp 0x44bf02
lea ecx, [esp + 0xe4]
call fcn.0044da70
mov dword [esp + 0x18], eax
jmp 0x44bf17
mov eax, dword [esp + 0x18]
mov dword [0x4a2534], eax
mov eax, esp
lea ecx, [esp + 0xd7]
mov dword [eax], ecx
call fcn.0044da80
jmp 0x44bf35
lea ecx, [esp + 0xd7]
call fcn.0044daa0
mov dword [esp + 0x14], eax
jmp 0x44bf4a
mov eax, dword [esp + 0x14]
mov dword [0x4a2538], eax
lea eax, [0x49ec60]
mov dword [esp], eax
call fcn.0046025b
lea eax, [0x4a2524]
mov dword [esp + 0xd0], eax
lea eax, [0x4a2524]
mov dword [esp + 0xcc], eax
lea eax, [0x4a2524]
add eax, 0x18
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [esp + 0xc8]
je 0x44c086
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
lea edx, [esp + 0x137]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0xd
call sub.msvcrt.dll_memcmp
cmp eax, 0
jne 0x44c06b
mov eax, dword [esp + 0x6c]
test byte [eax + 1], 1
je 0x44c06b
call fcn.0044cc80
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xbc]
call fcn.0044cca0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x82]
mov dword [esp], eax
call fcn.0044dab0
lea ecx, [esp + 0x82]
call fcn.0044dad0
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
call fcn.00401e20
mov byte [esp + 0x573], 0
jmp 0x44c093
jmp 0x44c070
mov eax, dword [esp + 0xcc]
add eax, 4
mov dword [esp + 0xcc], eax
jmp 0x44bf8b
jmp 0x44c08b
mov byte [esp + 0x573], 1
mov al, byte [esp + 0x573]
and al, 1
movzx eax, al
lea esp, [ebp - 4]
pop esi
pop ebp
ret