Function at 0x427d54
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x188
push esi
push edi
movzx eax, byte [ebp + 8]
test eax, eax
je 0x427dca
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x11c], eax
lea eax, [ebp + 0x30]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x124], eax
push dword [ebp - 0x124]
mov eax, dword [ebp - 0x140]
movzx eax, byte [eax]
push eax
push 1
push dword [ebp - 0x158]
push dword [ebp - 0xb4]
push dword [ebp - 0x11c]
push 0x1af3
call fcn.004284fe
add esp, 0x1c
jmp 0x4284f8
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0xcc], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe4], eax
lea eax, [ebp + 0x3c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x138], eax
lea eax, [ebp + 0x50]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax]
test eax, eax
je 0x428188
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x134]
movzx eax, byte [eax]
test eax, eax
je 0x427f21
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], 0x1c
jmp 0x427f00
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0xffffffed
jne 0x427f1c
mov byte [ebp - 5], 0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x427f1a
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
jmp 0x427ef5
jmp 0x428183
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
mov eax, dword [ebp - 0x14]
push dword [eax]
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
cmp dword [eax], esi
jle 0x427ff6
mov dword [ebp - 0x7c], 1
jmp 0x427ffa
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x8c]
cmp dword [eax], 0xe318
jl 0x428023
xor eax, eax
je 0x428023
mov dword [ebp - 0x84], 1
jmp 0x42802a
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x84]
jg 0x42803e
mov dword [ebp - 0x40], 1
jmp 0x428042
and dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x40], eax
je 0x428055
mov dword [ebp - 0x70], 1
jmp 0x428059
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp dword [ebp - 0x70], eax
jne 0x42806c
mov dword [ebp - 0x48], 1
jmp 0x428070
and dword [ebp - 0x48], 0
push 2
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax]
jl 0x42808d
mov dword [ebp - 0x94], 1
jmp 0x428094
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp dword [ebp - 0x94], eax
jl 0x4280aa
mov dword [ebp - 0x50], 1
jmp 0x4280ae
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x50], eax
jne 0x4280c0
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 0
je 0x4280c6
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
mov eax, dword [ebp - 0x14]
push dword [eax]
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
cmp dword [eax], 0xffff
jbe 0x4280e4
mov dword [ebp - 0x34], 1
jmp 0x4280e8
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
cmp dword [ebp - 0x34], eax
jge 0x4280fb
mov dword [ebp - 0x58], 1
jmp 0x4280ff
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x14]
push dword [eax]
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
mov esi, eax
mov edi, dword [ebp - 0x58]
sub edi, 0x279329bf
push 1
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
sub edi, dword [eax]
mov eax, dword [esi]
sub eax, edi
mov ecx, dword [ebp - 0x78]
mov dword [ecx], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffffb
pop ecx
sub ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 0xffff
jb 0x42815b
mov dword [ebp - 0xe0], 1
jmp 0x428162
and dword [ebp - 0xe0], 0
push 2
mov ecx, dword [ebp - 0x18]
call fcn.004313dc
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], 0x721ca7bc
jmp 0x4284f8
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax]
test eax, eax
je 0x4281d2
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x68]
mov dword [ecx], eax
jmp 0x4284f8
mov dword [ebp - 4], 0xfffffffc
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
push 3
lea ecx, [ebp - 0xa4]
call fcn.004312ee
mov dword [ebp - 0x1c], 1
push 4
lea ecx, [ebp - 0x168]
call fcn.004312ee
push 0x1947
push 1
lea eax, [ebp - 0xa4]
push eax
push 0x2e3
push 1
lea eax, [ebp - 0x110]
push eax
push 0x1a45
push 0x49ca
push 0
call fcn.004115de
add esp, 0x24
lea eax, [ebp - 0x168]
push eax
push 1
push 0x4530
push 0x632
push 1
push 0x3375
push 1
lea eax, [ebp - 0x110]
push eax
push 0x65a0
push 1
push 0
push 0x7f66
push 0x7a5c
push 1
call fcn.00422ffd
add esp, 0x38
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 4], eax
jg 0x428290
mov dword [ebp - 0x5c], 1
jmp 0x428294
and dword [ebp - 0x5c], 0
mov eax, 0x67e6aa16
test eax, eax
je 0x42830b
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], eax
push 1
lea ecx, [ebp - 0xa4]
call fcn.004313dc
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
cmp dword [ebp - 0x38], 0
jne 0x4282ca
mov dword [ebp - 0x3c], 1
jmp 0x4282ce
and dword [ebp - 0x3c], 0
cmp dword [ebp - 0x3c], 4
jbe 0x4282dd
mov dword [ebp - 0x44], 1
jmp 0x4282e1
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4282f6
mov eax, 0x8716
test eax, eax
jne 0x4282ff
mov eax, 0xffff
test eax, eax
je 0x42830b
mov dword [ebp - 0x118], 1
jmp 0x428312
and dword [ebp - 0x118], 0
cmp dword [ebp - 4], 0xfffb
jae 0x428324
mov dword [ebp - 0x4c], 1
jmp 0x428328
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x4c], eax
jl 0x428339
mov dword [ebp - 0x54], 1
jmp 0x42833d
and dword [ebp - 0x54], 0
cmp dword [ebp - 0x54], 0x80c6548a
je 0x42834f
mov dword [ebp - 0x64], 1
jmp 0x428353
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jge 0x428364
mov dword [ebp - 0x6c], 1
jmp 0x428368
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
sub eax, 7
je 0x428382
cmp dword [ebp - 4], 0
je 0x428382
mov dword [ebp - 0x120], 1
jmp 0x428389
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x184], eax
mov eax, 0xf4a7
sub eax, 0xfffffff9
mov dword [ebp - 4], eax
or eax, 0xffffffff
je 0x4284ad
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc]
cmp dword [ebp - 0x1c], eax
jle 0x4283c6
mov dword [ebp - 0x128], 1
jmp 0x4283cd
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x170], eax
push 0
lea ecx, [ebp - 0xa4]
call fcn.004313dc
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x10]
test eax, eax
jne 0x428400
mov dword [ebp - 0x74], 1
jmp 0x428404
and dword [ebp - 0x74], 0
push 1
lea ecx, [ebp - 0xa4]
call fcn.004313dc
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [eax]
je 0x428421
mov dword [ebp - 0x80], 1
jmp 0x428425
and dword [ebp - 0x80], 0
push 0
lea ecx, [ebp - 0xa4]
call fcn.004313dc
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [eax]
jl 0x428442
mov dword [ebp - 0x30], 1
jmp 0x428446
and dword [ebp - 0x30], 0
push 2
lea ecx, [ebp - 0x168]
call fcn.004313dc
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
cmp dword [ebp - 0x30], 0xfffffffa
jle 0x42846a
mov dword [ebp - 0x88], 1
jmp 0x428471
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x88], eax
jle 0x428488
mov dword [ebp - 0x130], 1
jmp 0x42848f
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x178], eax
mov eax, 0xc16b405b
test eax, eax
je 0x4284ad
mov dword [ebp - 0x90], 1
jmp 0x4284b4
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x4689
jg 0x4284d2
mov dword [ebp - 0x98], 1
jmp 0x4284d9
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x168]
call fcn.004313c0
lea ecx, [ebp - 0xa4]
call fcn.004313c0
pop edi
pop esi
mov esp, ebp
pop ebp
ret