Function at 0x455e10
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x110
lea edx, [ebp - 0x118]
mov eax, dword [0x543b10]
xor eax, ebp
push 0x105
push edx
mov dword [ebp - 0x10], eax
push str.FOR_FMT_TERMINATOR
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edx, eax
test edx, edx
jbe 0x455e4e
cmp edx, 0x105
jae 0x455e4e
inc edx
jmp 0x455e55
mov byte [ebp - 0x118], 0
xor eax, eax
lea ebx, [ebp - 0x118]
mov dword [0x2df3db0], eax
mov dword [0x2df3da8], eax
mov dword [0x2df3dac], eax
mov dword [0x2df3da4], 1
test edx, edx
je 0x456088
cmp byte [ebp - 0x118], 0
je 0x45606c
mov esi, 0x500d30
lea edi, [ebp - 0x118]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x455eb6
test dl, dl
je 0x455eb2
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x455eb6
add edi, 2
add esi, 2
test dl, dl
jne 0x455e96
xor eax, eax
jmp 0x455ebb
sbb eax, eax
or eax, 1
test eax, eax
je 0x456046
mov esi, 0x500d2c
lea edi, [ebp - 0x118]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x455eee
test dl, dl
je 0x455eea
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x455eee
add edi, 2
add esi, 2
test dl, dl
jne 0x455ece
xor eax, eax
jmp 0x455ef3
sbb eax, eax
or eax, 1
test eax, eax
je 0x456020
mov esi, str.CRLF
lea edi, [ebp - 0x118]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x455f26
test dl, dl
je 0x455f22
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x455f26
add edi, 2
add esi, 2
test dl, dl
jne 0x455f06
xor eax, eax
jmp 0x455f2b
sbb eax, eax
or eax, 1
test eax, eax
je 0x455ff6
push 0x3b
lea eax, [ebp - 0x118]
push eax
call fcn.004d16f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4562c7
push 0x500d40
lea eax, [ebp - 0x118]
push eax
call fcn.004d1820
mov edx, eax
lea eax, [ebp - 0x118]
add esp, 8
cmp eax, edx
je 0x4562b3
push 0x500d3c
lea eax, [ebp - 0x118]
push eax
call fcn.004d1820
mov edx, eax
lea eax, [ebp - 0x118]
add esp, 8
cmp eax, edx
je 0x45629f
push str.CRLF_
lea eax, [ebp - 0x118]
push eax
call fcn.004d1820
mov edx, eax
lea eax, [ebp - 0x118]
add esp, 8
cmp eax, edx
je 0x4560a9
xor eax, eax
push eax
push 0x60
mov dword [0x2df3db0], eax
mov dword [0x2df3da8], eax
mov dword [0x2df3dac], eax
call fcn.00480060
add esp, 8
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [0x2df3db0], 8
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [0x2df3db0], 6
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [0x2df3db0], 7
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.004cf95b
mov dword [0x2df3db0], 8
mov edi, 8
lea ebx, [esi + 1]
push 0x3a
push ebx
call fcn.004d16f0
mov esi, eax
add esp, 8
test esi, esi
je 0x456295
push 0x500d50
push ebx
call fcn.004d1820
add esp, 8
cmp ebx, eax
je 0x45628b
push 0x500d4c
push ebx
call fcn.004d1820
add esp, 8
cmp ebx, eax
je 0x456281
push str.CRLF:
push ebx
call fcn.004d1820
add esp, 8
cmp ebx, eax
jne 0x455fba
mov eax, 8
lea ebx, [esi + 1]
cmp eax, edi
jne 0x456123
mov eax, 0
cmp byte [ebx], 0
je 0x455fba
xor edx, edx
mov dword [ebp - 0x11c], eax
xor ecx, ecx
movsx eax, byte [ebx]
test eax, eax
je 0x456276
test ecx, 0xfffffffd
je 0x456264
cmp ecx, 1
jne 0x456162
mov edi, eax
and edi, 0xfffffffe
cmp edi, 0x2c
je 0x45622e
jmp 0x45616b
cmp ecx, 3
jne 0x455fba
cmp eax, 0x2c
je 0x456248
lea edi, [eax - 0x30]
cmp edi, 9
ja 0x455fba
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
inc ebx
cmp edx, 0x40
jl 0x456136
mov eax, dword [ebp - 0x11c]
cmp byte [ebx], 0
jne 0x455fba
movsx ebx, byte [ebx - 1]
cmp ebx, 0x2c
je 0x455fba
cmp ebx, 0x2d
je 0x455fba
cmp ecx, 1
je 0x4561f7
cmp esi, dword [edx*4 + 0x2df3940]
jl 0x455fba
mov dword [edx*4 + 0x2df3a60], esi
inc edx
mov dword [0x2df3da8], eax
mov dword [0x2df3dac], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [edx*4 + 0x2df3940], esi
mov dword [edx*4 + 0x2df3a60], esi
inc edx
mov dword [0x2df3da8], eax
mov dword [0x2df3dac], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x4560a4
jmp 0x455fee
mov dword [edx*4 + 0x2df3940], esi
cmp eax, 0x2d
jne 0x45616b
mov ecx, 2
jmp 0x456187
cmp esi, dword [edx*4 + 0x2df3940]
jl 0x455fba
mov dword [edx*4 + 0x2df3a60], esi
inc edx
xor ecx, ecx
jmp 0x456187
lea esi, [eax - 0x30]
cmp esi, 9
ja 0x455fba
inc ecx
jmp 0x456187
mov eax, dword [ebp - 0x11c]
jmp 0x45619c
mov eax, 6
jmp 0x456117
mov eax, 7
jmp 0x456117
mov eax, 7
jmp 0x45611a
mov dword [0x2df3db0], 6
mov edi, 6
jmp 0x4560b8
mov dword [0x2df3db0], 7
mov edi, 7
jmp 0x4560b8
xor edi, edi
jmp 0x4560bb