Function at 0x405d20
Capabilities:
Query environment variable

Disassembly:
mov ch, 0
add byte [eax], al
invalid
push ebp
daa
in al, dx
push esi
sbb dword [ebp + 8], esi
push edi
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x405b87
mov eax, dword [esi + 0x20]
cmp byte [eax], 0
in eax, dx
dec edi
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x18]
cmp ecx, eax
mov dword [esi - 0x40], 0xe600
jge 0x405bbc
mov edx, dword [esi + 0x33]
call 0x46c9e5a4
add eax, dword [edi - 9]
sub eax, 0xec8a4f75
add dword [eax - 0x7c], eax
shr byte [esi + 0x204c8728], cl
mov dl, byte [eax]
cmp dl, 0x72
jne 0x405bd6
inc ecx
mov dword [esi + 0xc], ecx
mov dword [esi - 0x42], 0x410249
mov ecx, dword [ebp + 0x31]
mov al, byte [esi - 0x15]
pop edi
loopne 0x405b54
add dword [eax + 0x11110], edi
ret 0x10
mov edx, dword [esi + 0x20]
mov edi, dword [ebp + 0xc]
movsx eax, byte [edx]
pop es
cmp eax, 0x3a
cdq
inc esi
adc byte [ecx - 0x7becdf54], cl
rol byte [esi], 1
add byte [eax + 0x57], dl
adc eax, sym.imp.MSVCRT.dll_strchr
xchg esp, eax
or byte [ebp - 0x427bbc40], al
add byte [eax], al
add byte [eax + 0x743a0178], al
sbb cl, byte [ebx + 0x78390f4d]
add byte [eax], al
add ch, ah
mov edx, dword [esi + 0x20]
cmp byte [edx], 0
jne 0x33405caf
jmp 0x405cac
mov bh, 0x46
or al, 0x8b
push ebp
adc byte [edx + 0x335fa14e], cl
rcr byte [eax - 0x3da28ef6], 0x10
jns 0x405d13
jle 0x405cd2
sub eax, 0xfeface0f
invalid
sal dword [edi], 1
mov edx, dword [ebp + 0x74c08504]
and al, 0x80
aas
push cs
stc
pop ds
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi - 8]
inc esp
sahf
adc dword [edx + 0x57], edx
xchg ecx, eax
pop dword [eax]
add byte [ebp + 0x680846f6], ch
int3
nop
aaa
nop
nop
nop
nop
nop
nop
nop
mov dl, byte [eax - 0x74aa6f70]
in al, dx
push eax
push esi
push edi
call 0x40d120
test eax, eax
jne 0x4c405e30
cmp dword [0x4108dc], 0x14
jl 0xfd5e2e
mov eax, dword [0x5f410384]
test eax, eax
jne 0xf2405e2e
mov dword [0x416984], 0x1e
call dword [0x40ec5c]
add eax, 0x74f68501
mov ah, byte [ecx + 0x410358]
test eax, eax
jne 0x405d7e
push eax
push 0xcc404310
push 4
call fcn.0040a940
add esp, 0xc
mov dword [0x410358], eax
add eax, dword [ecx]
test esi, esi
cmpsd dword [esi], dword es:[edi]
test byte [edi - 0x73000000], ch
dec ebp
mov dword [ecx + 0x56], edx
call eax
mov ecx, dword [ecx - 0x7b]
div byte [ebp + ebx - 0x75]
xor esp, edi
cmovne ecx, dword [edx + edx*4]
push esi
push eax
call 0xea71a5d0
mov ecx, dword [ebp - 0x70]
add esp, 0xc
push esi
mov dword [ecx], eax
call dword [0x40ce58]
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov ebx, eax
loop 0x405dbd
call dword [ebx - 0xc]
or ecx, ebp
rol dword [eax], 0x50
call fcn.00405e50
mov edi, dword [ebp + 0x10]
add esp, 0xc
test edi, edi
je 0x405e02
push ebx
hlt
xchg ebp, eax
xor al, 0x85
add al, 0
add byte [eax], al
push esi
call dword [0x408f5c]
add esp, 4
mov dword [edi], eax
call dword [sym.imp.MSVCRT.dll___p__environ]
mov edi, dword [edi]
mov ecx, esi
mov esi, dword [eax]
mov edx, ecx
shr ecx, 0x90
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
adc al, 0x66
add esi, ebx
inc eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov ah, 0xf3
sub cl, al
inc eax
add bh, bh
salc
push edx
or byte [ebx - 0x7b], bl
leave
je 0x405e2e
call esi
mov edi, dword [eax]
call esi
push edi
push ecx
add byte [eax], al
add byte [eax], al
invalid
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc