Function at 0x409d20
Capabilities:
Delete directory
Print debug messages
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov edx, 0xc
mov dword [ebp - 0xec], edx
push ebx
mov eax, 0x73
mov dword [ebp - 0xe0], eax
push esi
xor eax, edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
push edi
add eax, 0xc
mov dword [ebp - 0xe0], eax
mov eax, edx
mov dword [ebp - 0xec], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xe0], ebx
cmp eax, 0xdc55
jne 0x409dea
xor ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, 0x9ea0
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe0], edx
add eax, 0x71
mov edx, dword [ebp - 0xec]
cmp eax, dword [0x4103ec]
je 0x409de1
sub eax, 0xfffffff3
mov ecx, ebx
mov dword [ebp - 0xe0], edx
test edx, 0x48
jne 0x409de1
mov edi, 0x7d6d
xor eax, ecx
mov dword [ebp - 0xe0], edi
cmp eax, dword [0x410430]
jne 0x409de1
xor eax, edx
mov edx, 0x3f
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x28], eax
mov ebx, 0xff
add ebx, ecx
mov dword [ebp - 0xbc], ebx
xor ecx, 0xffffff9f
mov dword [ebp - 0x38], ecx
lea ebx, [ebp - 0xdc]
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
cmp eax, 0xfffffffe
je 0x409e17
xor edi, 0x20
mov dword [ebp - 0x28], edi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 4], eax
add eax, 0x39
mov ecx, 0x82
mov dword [ebp - 0x34], edi
cmp eax, 0xffffff87
jne 0x409e39
mov dword [ebp - 0x38], eax
cmp ebx, dword [0x410430]
jne 0x409e44
mov dword [ebp - 0x28], ecx
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
xor eax, 0xffffff94
mov edi, 0xcb
cmp ebx, dword [ebp - 0xc]
jne 0x409e85
or edi, 0x1b309200
mov edx, dword [0x4103ec]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x98], edx
push str.yPNSEf4bF7lj8EKUmzC
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
cmp ebx, 0xffffffe5
je 0x409ee3
xor edi, 0xffffff89
mov ecx, dword [ebp - 0xec]
cmp ecx, dword [ebp - 0x8c]
jne 0x409ee3
mov edx, ecx
mov dword [ebp - 0xb0], ebx
cmp ecx, dword [0x410418]
jne 0x409ee3
mov eax, dword [ebp - 0xe0]
add edx, ecx
mov dword [ebp - 0x38], edx
test eax, 0x4d
jne 0x409ee3
mov edi, 0xb0
cmp ebx, 0x7e
jne 0x409ee3
mov dword [ebp - 0x34], edi
cmp eax, dword [str.yPNSEf4bF7lj8EKUmzC]
jne 0x409ee3
mov dword [ebp - 0xbc], eax
push 0x410418
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xc8]
je 0x409f01
add eax, edi
mov dword [ebp - 0xac], eax
push 0xe1e108c8
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, ebx
cmp edi, eax
jne 0x409f96
add edi, 0xffffffa2
cmp edi, 4
je 0x409f96
mov eax, dword [ebp - 0x34]
xor eax, 0xffffffd1
cmp edi, 0xffffffde
jne 0x409f96
mov esi, 0xcb191186
mov dword [ebp - 0xe0], esi
cmp ebx, edi
je 0x409f96
cmp edi, 0xffffffed
jne 0x409f96
add edi, 0xffffff95
mov edx, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x90]
jne 0x409f96
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
cmp ecx, dword [0x410430]
je 0x409f96
add edx, eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x410410]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xa4], ebx
cmp ecx, 0xffffff8d
jne 0x409f96
cmp ebx, edx
je 0x409f96
or edx, eax
cmp edx, ebx
je 0x409f96
sub edi, 0xffffffcc
test edx, 0xaa
jne 0x409f96
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0xec], edx
xor ecx, ebx
mov dword [ebp - 0x1c], ecx
mov edx, 0x39810c2c
or edi, edx
mov dword [ebp - 0x1c], edi
xor ebx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xbc], eax
cmp eax, 0xffffff94
je 0x409fd0
sub ebx, 0x1001000
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x128], ebx
test ecx, 0x6f
je 0x409fe1
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x28], esi
mov edi, dword [0x410430]
mov dword [ebp - 0x1c], edi
sub ecx, 0x14
cmp ecx, edx
jne 0x40a02b
mov edx, 0x49
cmp ecx, edi
je 0x40a02b
add edx, eax
cmp edx, dword [0x410418]
jne 0x40a02b
cmp ecx, dword [ebp - 0xec]
jne 0x40a02b
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0x1c]
add ecx, esi
cmp edx, dword [ebp - 0x9c]
jne 0x40a02b
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x124], ecx
mov ebx, dword [ebp - 0xa4]
sub ebx, 0x991c1100
mov dword [ebp - 0xbc], ebx
and edx, 0xffffffd4
cmp edx, dword [0x410418]
je 0x40a0cd
xor edx, esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xe0], edi
mov esi, dword [ebp - 0xec]
cmp edx, dword [ebp - 0xac]
je 0x40a0cd
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0xe0], edx
test ecx, 0x1fb7
jne 0x40a0cd
mov ebx, dword [0x410454]
xor esi, 0x78
mov dword [ebp - 0x28], ebx
cmp edi, dword [0x410400]
je 0x40a0cd
mov eax, dword [ebp - 0x38]
sub edi, 0xffffffad
cmp ecx, dword [ebp - 0xe0]
jne 0x40a0cd
cmp edi, dword [0x4103ec]
jne 0x40a0cd
sub edi, 0x1000400
mov dword [ebp - 0x1c], eax
cmp edi, ecx
jne 0x40a0cd
test edi, 0xde
jne 0x40a0cd
sub esi, 0xffffffd9
mov eax, dword [0x410410]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x1c]
and esi, ebx
mov dword [ebp - 0xbc], esi
mov edx, dword [0x410400]
xor edx, eax
cmp ecx, dword [ebp - 0xdc]
jne 0x40a0f6
mov esi, 0x54
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
add ecx, 0xfffffff3
mov dword [ebp - 0x94], ecx
mov ecx, edi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], ebx
xor eax, 0x1a
mov esi, 0x3e
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x94], eax
cmp ecx, 0x9e8d
jne 0x40a134
add edx, eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb8], esi
sub ebx, ecx
mov ecx, dword [ebp - 0x94]
cmp ecx, ebx
jne 0x40a159
mov eax, 0xabbe
mov dword [ebp - 0xb8], ecx
sub ebx, eax
mov dword [ebp - 0xa4], ebx
xor ebx, 0x50
mov dword [ebp - 0x34], ebx
or esi, 0x5d
cmp edi, 0x6f06
je 0x40a1b4
and esi, ebx
cmp edi, edx
jne 0x40a1b4
xor esi, 0x1d
cmp esi, dword [ebp - 0xac]
je 0x40a1b4
mov ebx, dword [0x410430]
and ebx, esi
cmp ebx, edi
je 0x40a1b4
sub ebx, eax
cmp ebx, 0xffffffbf
je 0x40a1b4
mov edi, dword [ebp - 0xa4]
test ecx, 0xc4
je 0x40a1b4
add ebx, 0xffffffe8
test esi, 0xcf
jne 0x40a1b4
mov ecx, edi
mov dword [ebp - 0x28], ebx
xor ecx, edx
mov dword [ebp - 0xa4], ecx
cmp ecx, dword [0x410410]
jne 0x40a1c2
mov dword [ebp - 0xec], esi
and ebx, edi
mov edx, dword [ebp - 0x1c]
cmp edx, 0x6f
jne 0x40a1e8
mov esi, 0x4f
test ebx, 0xb135001
je 0x40a1e8
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0xe0], esi
and edi, 0x72
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0xec], esi
lea ecx, [ebp - 0xe8]
mov esi, dword [ebp - 0x94]
cmp esi, 0xffffffd4
jne 0x40a211
mov dword [ebp - 0xe0], esi
sub edi, eax
mov esi, dword [0x410410]
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x38], ebx
test ecx, 0xa9
jne 0x40a249
mov edi, dword [ebp - 0xbc]
cmp edi, 0xfffffffd
jne 0x40a249
add edi, esi
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x94], edi
push ecx
mov dword [ebp - 0x34], esi
push 0x71a4fb00
cmp edi, ebx
jne 0x40a25f
mov ebx, dword [ebp - 0xbc]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], esi
call fcn.0040a633
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0xe0], esi
xor ebx, edi
cmp edi, ebx
je 0x40a37e
xor ebx, edi
mov edi, dword [ebp - 0xb8]
test edi, 0x6d0d
jne 0x40a37e
mov esi, 0x35
add edi, 0x19380400
mov dword [ebp - 0x20], esi
cmp edi, 0xffffffcc
je 0x40a37e
sub edi, ebx
cmp eax, 0x50
je 0x40a37e
mov ecx, 0x5c
mov dword [ebp - 0xfc], edi
cmp ebx, 0xffffff9f
jne 0x40a37e
add ecx, esi
mov ebx, dword [ebp - 0x28]
test ebx, 0x40
jne 0x40a37e
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x6d5a
je 0x40a37e
mov edx, dword [0x410430]
mov dword [ebp - 0xbc], ebx
sub ecx, ebx
cmp ecx, esi
je 0x40a37e
add edx, 0x47
mov dword [ebp - 0xfc], esi
mov ebx, ecx
cmp ebx, 0x6d
jne 0x40a37e
mov edi, dword [ebp - 0xfc]
or edx, 0x21c52800
test ebx, 0x57
jne 0x40a37e
mov dword [ebp - 0x20], edi
sub ebx, 0x63
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], esi
cmp ebx, 0xb503
je 0x40a37e
xor ecx, 0x9884200
cmp ebx, dword [0x410430]
je 0x40a37e
mov eax, dword [ebp - 0xa4]
sub ebx, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], esi
test eax, 0xd4a8
jne 0x40a37e
mov dword [ebp - 0x94], esi
mov edx, dword [0x410410]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], eax
cmp ebx, ecx
je 0x40a37e
mov dword [ebp - 0xb8], esi
xor edx, ecx
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0xe8]
sub edx, 0xffffffe2
mov edi, 9
cmp ebx, dword [0x4103ec]
jne 0x40a3c1
mov ebx, dword [0x410410]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 8], edi
cmp eax, dword [ebp - 0x28]
jne 0x40a3c1
mov edx, dword [ebp - 0x20]
sub ebx, edx
mov dword [ebp - 0xb8], ecx
cmp ebx, 0xffffff91
jne 0x40a3c1
xor ebx, 0xffffffb0
mov dword [ebp - 0xe0], ebx
shr ecx, 0x10
add ebx, ecx
mov dword [ebp - 0x1c], ebx
cmp ecx, 0x9412
jne 0x40a5cf
mov dword [ebp - 0xa4], ecx
push 0x4103ec
push 0x410400
push 0x41415c
push 0x410430
call fcn.0040ad4b
add edi, 0x1104200
mov dword [ebp - 0x20], eax
mov edx, 0xae
cmp ebx, 0xfffffff9
jne 0x40a40d
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], ebx
cmp ebx, 0x623a
jne 0x40a48d
sub edx, esi
mov edi, dword [ebp - 0xa4]
cmp eax, 0xffffffca
jne 0x40a487
mov ecx, dword [ebp - 0x20]
sub edi, 0xffffff98
cmp edi, dword [ebp - 0x8c]
jne 0x40a487
xor ecx, ebx
mov ebx, dword [ebp - 0x20]
cmp ecx, esi
jne 0x40a487
mov esi, 0x7b
and ecx, 0x68
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x38], esi
test ebx, 0x614d
jne 0x40a487
mov edi, 0xc8
mov dword [ebp - 0x34], edi
test ebx, 0xaa42
je 0x40a487
mov edi, 0xa9
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xbc], ecx
test ecx, 0x5e
jne 0x40a481
and esi, 0x1442400
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x24], eax
mov ecx, dword [0x410418]
sub ecx, 0x59
mov dword [ebp - 0xec], ebx
test eax, 0xd821
je 0x40a4ae
sub edx, edi
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0xbc], ebx
cmp eax, 0xffffff87
je 0x40a4d0
mov eax, dword [str.yPNSEf4bF7lj8EKUmzC]
and eax, 0x190d0000
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xbc], eax
mov edx, 0xc143e992
mov esi, 0xa
add esi, ebx
mov dword [ebp - 0xe0], esi
sub edx, 0xc1033e4d
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xec], edx
push dword [ebp - 0xe8]
push 0x9412b3b2
push dword [ebp - 0x24]
call fcn.0040ab45
add eax, 0xffffffe5
mov ecx, dword [ebp - 0xbc]
cmp esi, ecx
jne 0x40a55e
add eax, 0x592c0100
mov esi, 0x84
mov dword [ebp - 0x11c], esi
cmp ecx, 0x57ca
jne 0x40a55e
cmp ecx, eax
je 0x40a55e
sub ecx, ebx
mov dword [ebp - 0xb8], ecx
mov edx, esi
cmp eax, 0x1e57
je 0x40a558
sub eax, ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xa4], edx
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xec]
cmp ecx, dword [ebp - 0xf8]
jne 0x40a5b6
mov edi, eax
xor ecx, 0x67
mov dword [ebp - 0xbc], edi
test ecx, 0x63
jne 0x40a5b6
mov edx, 0xe2
cmp ecx, 0xb752
je 0x40a5b6
cmp ecx, esi
jne 0x40a5b6
mov edi, 0x3fb7
xor edx, ebx
cmp eax, 0x353d
jne 0x40a5b6
mov esi, edx
sub edi, ecx
cmp edi, 0xd
je 0x40a5b6
mov dword [ebp - 0x3c], esi
add edi, 0xffffffbd
mov dword [ebp - 0xb8], edi
call ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xbc], eax
mov edx, 0xdcfd
mov dword [ebp - 0x94], edx
mov eax, ecx
cmp eax, dword [ebp - 0xb0]
je 0x40a5df
mov dword [ebp - 0xf0], eax
cmp eax, edx
je 0x40a5f4
xor esi, 0xffffff8b
mov ebx, 0x12
mov dword [ebp - 0xec], esi
mov dword [ebp - 0x3c], ebx
mov edi, 0xa7
mov dword [ebp - 0xe0], edi
pop edi
cmp edi, 0x5c
je 0x40a61c
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x84], edi
sub ecx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
pop esi
mov dword [ebp - 0xbc], esi
pop ebx
mov ecx, ebx
add ecx, 0x7d
mov dword [ebp - 0x3c], ecx
leave
ret