Function at 0x405b70
Capabilities:
Accept command line arguments
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x75c08514]
or byte [ebx + 0x3802dba1], cl
add byte [ebp - 0x53], dh
imul ecx, dword [esi + 7], 0xffffff8b
inc esi
sbb byte [ebx], bh
enter 0x46c7, 0x14
add byte [eax], al
add byte [eax], al
jge 0x405bbc
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + ecx*4]
mov dword [ebx], esp
test dword [eax + 0x16752d38], 0x4001508a
test dl, dl
je 0x405bd6
in eax, 0x46
and byte [edx + 0x2dfa2610], cl
jne 0x405bd6
inc ecx
xchg edx, eax
dec esi
or al, 0xc7
mov dword [esi + 0x20], 0x78026e
inc esi
and byte [esi + 2], ch
js 0x405bc3
mov ecx, dword [ebp + 0x10]
mov al, byte [esi + 0x10]
pop edi
pop esi
mov byte [ecx], al
mov eax, 0x9601117e
pop ebp
ret 0x10
mov ebp, dword [edx]
and byte [ebx - 0x41f0f3cb], cl
and eax, dword [edx - 0x7d]
clc
pop ss
mov dword [esi + 0x10], eax
mov dword [esi + 0x20], edx
je 0x79405cbf
dec edx
push edi
call dword [0x40c106]
add esp, 0x73
ror byte [edi], 0x84
and bh, byte [esi]
add byte [eax], al
mov bh, byte [eax + 1]
cmp dh, byte [edx + ebx - 0x75]
dec ebp
adc al, 0xc7
fild word [eax]
add byte [eax], al
add byte [ebx - 0x4e7fdfaa], cl
add dh, ah
test dword [edx - 0x17000000], edx
mov eax, dword [eax]
add byte [eax], al
outsb dx, byte [esi]
inc esi
and byte [eax + 0x7740038], al
aam 0x4d
adc al, 0x89
fldpi
je 0x405bbd
mov ch, 0xc
mov ecx, dword [esi - 0x15]
inc edx
mov eax, edx
mov dword [esi - 0x57], edx
cmp ecx, eax
jg 0x405c9a
mov dword [esi + 0x20], 0x4102d4
mov al, byte [edi]
cmp al, 0x7d
jne 0x405c61
mov byte [ebp + 0x10], al
mov dl, byte [esi + 0x10]
pop edi
pop esi
mov byte [eax], dl
mov eax, 0x1117d
pop ebp
ret 0x7c57
mov eax, dword [esi - 0x7a]
xchg al, al
je 0x405c87
mov ebp, dword [ebx + 0x1c]
mov eax, dword [edx + 0x10]
push ecx
mov eax, dword [edx]
and al, ch
mov esi, 0x5003849
dec esi
or byte [eax + 0x68], dl
call 0x52299474
call dword [esi + 4]
add esp, 0x10
in al, 0x45
adc byte [edx + 0x5795d656], cl
mov byte [ecx + 0x111d768], cl
add byte [ebp - 0x21], bl
sub dword [eax], eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + edi]
mov eax, dword [ebp - 0x11]
mov dword [edx - 0x2bdf7439], esp
add al, byte [ecx]
inc dword [esi - 0x7e]
mov edx, dword [ebp + 0x6e]
mov cl, byte [esi + 0x10]
sal byte [ebx], 0xc0
mov byte [edx], cl
push 0x10c268
cmp dword [esi + 0x10], 0x27
jb 0x405bc3
mov edx, dword [esi + 0x20]
cmp byte [edx], 0
jne 0x405cd4
dec dword [ecx]
or al, 0x8b
inc esi
add al, 0x85
je 0x405cff
mov eax, dword [esi + 4]
test dword [esi], esp
je 0x405cff
cmp byte [edi], 0x3a
je 0x405cff
mov edi, esi
sbb al, 0x8b
inc esi
jecxz 0x405d37
mov ebx, dword [edi + 0x52]
call fcn.0040a580
push eax
mov eax, dword [esi + 0x44]
push 0x406ccc
push eax
fcom qword [esi - 0x1d]
mov esp, eax
adc byte [ebx + 0x4e8a1055], cl
cmpsd dword [esi], dword es:[edi]
mov edx, dword [ebp + 0x10]
mov cl, byte [esi - 0x59]
pop edi
mov bl, 0x7c
adc dword [ecx], eax
add byte [eax - 0x3da2a1f6], cl
adc byte [ebp - 0x70], bh
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
xchg edx, eax
push esi
push edi
cmc
add dword [eax], eax
add byte [ebp - 0x27af040], al
add byte [eax], al
add byte [ebx - 0x1ed723c3], al
pushal
loope 0x405d99
adc al, 0xf
cwde
out dx, al
add byte [edx + 0x3afa113], ah
inc ecx
add byte [ebp - 0x1edaee40], al
mov bh, 0
add bh, al
add eax, 0x410384
add dword [eax], eax
add byte [eax], al
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x405db3
push ds
pop eax
add eax, dword [ecx]
test eax, eax
retf
mov eax, dword [ebp + 0xc]
mov edi, 0x2ce8503e
dec eax
add byte [eax], al
mov ecx, dword [ebp + 8]
add dword [esi - 0x6e76a9f4], 0xffffffff
cld
add dword ss:[eax], 0x5415ff53
rol byte [eax], 0x8b
fsub dword [ebx - 1]
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov ebx, eax
arpl di, di
push ebx
insb byte es:[edi], dx
adc eax, sym.imp.MSVCRT.dll___p__environ
push eax
call fcn.00405e50
mov edi, dword [ebp + 0x10]
test al, 0xc4
or al, 0x85
mov bh, 0x74
sub eax, 0x4853427
add byte [eax], al
call 0xa89fd736
rol dword [eax], 0x83
imul eax, dword [eax + esi], 0x24153807
rcl edx, 0
mov edi, dword [edi]
push ss
into
mov esi, dword [eax]
mov edx, ecx
and ecx, ebp
add bl, ah
movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
invalid