Function at 0x4013d0
Capabilities:
Query environment variable
Read file on windows
Terminate process

Disassembly:
sub esp, 8
push ebx
push ebp
mov edx, dword [esp + 0x14]
push esi
push edi
mov ecx, 6
mov eax, 0x418c60
mov edi, 0x418a5c
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [0x410b94]
push 0x41640c
xor ebx, ebx
push ecx
push edx
mov dword [esp + 0x20], ebx
mov dword [0x418a5c], eax
call fcn.00403bf0
mov edi, dword [sym.imp.MSVCRT.dll__putenv]
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x40142f
push 0x416418
call dword [sym.imp.MSVCRT.dll_getenv]
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4014a6
push esi
push 0x416424
call fcn.00402ef0
push eax
call edi
push esi
call fcn.004036d0
mov eax, dword [0x418b2c]
add esp, 0x10
cmp eax, ebx
je 0x4014a6
mov eax, dword [esp + 0x1c]
lea ecx, [eax*4 + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebp, eax
lea esi, [edx + 4]
lea edi, [ebp + 8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov dword [ebp], ecx
mov edx, dword [0x418b2c]
push edx
push 0x416430
call fcn.00402ef0
mov edi, dword [sym.imp.MSVCRT.dll__putenv]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x28]
add esp, 0xc
inc eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0x416434
push eax
push ecx
call fcn.00403c90
add esp, 0xc
test eax, eax
je 0x4014c8
push 0x41643c
jmp 0x4014ef
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0x41644c
push edx
push eax
call fcn.00403c90
add esp, 0xc
test eax, eax
je 0x4014ea
push 0x416454
jmp 0x4014ef
push 0x416464
call fcn.00402ea0
push eax
call edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add esp, 8
push ecx
push edx
call fcn.004084f0
mov byte [0x418a90], al
lea eax, [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
push 0x416474
call fcn.00408610
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
mov dword [0x418b20], 0x63
call fcn.00403470
mov ecx, dword [esp + 0x38]
lea eax, [ecx + 0xa]
mov dword [0x418bd4], eax
lea edx, [eax*4]
push edx
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [0x418a9c], eax
mov eax, dword [0x410be4]
push 0x8000
push eax
call dword [sym.imp.MSVCRT.dll__open]
mov esi, eax
add esp, 0x28
cmp esi, 0xffffffff
je 0x40158d
push 0x40
push 0x418a10
push esi
call dword [sym.imp.MSVCRT.dll__read]
push esi
call dword [sym.imp.MSVCRT.dll__close]
add esp, 0x10
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00404130
mov eax, dword [esp + 0x20]
add esp, 4
dec eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
jle 0x40258e
mov edi, dword [esp + 0x20]
add edi, 4
mov dword [esp + 0x20], edi
mov eax, dword [edi]
cmp byte [eax], 0x2d
jne 0x4024d1
lea ebp, [eax + 1]
mov al, byte [eax + 1]
test al, al
je 0x402577
jmp 0x4015d5
mov edi, dword [esp + 0x20]
and eax, 0xff
add eax, 0xffffffdd
cmp eax, 0x54
ja case.0x4015ee.61
xor edx, edx
mov dl, byte [eax + 0x402c3c]
jmp dword [edx*4 + 0x402bd0]
push edi
call fcn.00404150
push 1
call fcn.00403bd0
add esp, 8
jmp 0x4024c0
push edi
call fcn.00404150
push 2
call fcn.00403bd0
add esp, 8
jmp 0x4024c0
push 3
call fcn.00403bd0
add esp, 4
jmp 0x4024c0
push 4
call fcn.00403bd0
add esp, 4
jmp 0x4024c0
mov al, byte [ebp + 1]
lea esi, [ebp + 1]
test al, al
jne 0x40166b
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x4185cc]
add edi, 4
dec ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ecx
mov esi, dword [edi]
push esi
push ebp
push eax
call fcn.00403340
add esp, 0xc
jmp 0x40167b
mov ecx, dword [0x4185cc]
push ebp
push ecx
call fcn.004012b0
add esp, 8
mov dword [0x4185cc], eax
mov al, byte [ebp]
cmp al, 0x49
je 0x40168f
cmp al, 0x64
jne 0x401741
cmp al, 0x64
jne 0x4016e2
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
call fcn.0040b1d0
add esp, 4
test eax, eax
je 0x4016bc
push esi
push 0x416478
call fcn.00401280
add esp, 8
push esi
call fcn.00402ea0
mov dword [0x418bec], eax
mov cl, byte [edi + esi - 1]
add esp, 4
cmp cl, 0x5c
je 0x4016e2
mov byte [eax + edi], 0x5c
mov edx, dword [0x418bec]
mov byte [edx + edi + 1], 0
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 0x3b
push eax
push esi
mov byte [esp + 0x19], 0
call fcn.00402ef0
mov esi, eax
mov eax, dword [0x418be8]
add esp, 8
cmp eax, ebx
jne 0x401715
mov dword [0x418be8], esi
mov ebp, 0x4164a8
jmp 0x4024c0
mov cl, byte [ebp]
mov edi, eax
cmp cl, 0x64
jne 0x401723
push eax
push esi
jmp 0x401725
push esi
push eax
call fcn.00402ef0
add esp, 8
mov dword [0x418be8], eax
push esi
mov esi, dword [sym.imp.MSVCRT.dll_free]
call esi
push edi
call esi
add esp, 8
mov ebp, 0x4164a8
jmp 0x4024c0
mov ecx, dword [0x4185cc]
push ebp
push ecx
call fcn.00403440
add esp, 8
mov dword [0x4185cc], eax
jmp 0x4024c0
mov edx, dword [0x4185cc]
push ebp
push edx
call fcn.00403440
add esp, 8
mov dword [0x4185cc], eax
jmp 0x4024c0
mov dword [0x4185e0], 1
mov al, byte [ebp + 1]
cmp al, 0x30
jb 0x4017d6
cmp al, 0x39
ja 0x4017d6
mov eax, dword [0x418bc4]
push ebp
push eax
call fcn.004012b0
mov ecx, dword [0x4189f0]
push ebp
push ecx
mov dword [0x418bc4], eax
call fcn.004012b0
mov edx, dword [0x4189f4]
push ebp
push edx
mov dword [0x4189f0], eax
call fcn.004012b0
add esp, 0x18
mov dword [0x4189f4], eax
mov ebp, 0x4164ac
jmp 0x4024c0
mov eax, dword [0x418bc4]
push ebp
push eax
call fcn.00403440
mov ecx, dword [0x4189f0]
push ebp
push ecx
mov dword [0x418bc4], eax
call fcn.00403440
mov edx, dword [0x4189f4]
push ebp
push edx
mov dword [0x4189f0], eax
call fcn.00403440
add esp, 0x18
mov dword [0x4189f4], eax
jmp 0x4024c0
lea esi, [ebp + 1]
push esi
call fcn.004034f0
add esp, 4
test eax, eax
je 0x40182d
mov ebp, 0x4164b0
jmp 0x4024c0
push 0xf
push 0x4164b4
push ebp
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x401872
mov eax, dword [0x418bc4]
push ebp
push eax
call fcn.004012b0
mov ecx, dword [0x4185d0]
push ebp
push ecx
mov dword [0x418bc4], eax
call fcn.004012b0
add esp, 0x10
mov dword [0x4185d0], eax
mov ebp, 0x4164c4
jmp 0x4024c0
cmp byte [esi], 0x4f
jne case.0x4015ee.45
mov dword [0x4185e0], 1
mov al, byte [ebp + 1]
test al, al
jne 0x4018bd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add eax, 4
dec ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
mov eax, dword [0x418bc4]
push edx
push ebp
push eax
call fcn.00403340
add esp, 0xc
mov dword [0x418bc4], eax
mov ebp, 0x4164c8
jmp 0x4024c0
mov ecx, dword [0x418bc4]
push ebp
push ecx
call fcn.004012b0
add esp, 8
mov dword [0x418bc4], eax
mov ebp, 0x4164c8
jmp 0x4024c0
mov al, byte [ebp + 1]
test al, al
jne 0x401914
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov edx, dword [edi]
mov eax, dword [0x418bc4]
push edx
push ebp
push eax
call fcn.00403340
add esp, 0xc
mov dword [0x418bc4], eax
mov ebp, 0x4164cc
jmp 0x4024c0
mov ecx, dword [0x418bc4]
push ebp
push ecx
call fcn.004012b0
add esp, 8
mov dword [0x418bc4], eax
mov ebp, 0x4164cc
jmp 0x4024c0
mov al, byte [ebp + 1]
test al, al
jne 0x40196b
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov edx, dword [edi]
mov eax, dword [0x418bc4]
push edx
push ebp
push eax
call fcn.00403340
add esp, 0xc
mov dword [0x418bc4], eax
mov ebp, 0x4164d0
jmp 0x4024c0
mov ecx, dword [0x418bc4]
push ebp
push ecx
call fcn.004012b0
add esp, 8
mov dword [0x418bc4], eax
mov ebp, 0x4164d0
jmp 0x4024c0
mov edx, dword [0x418bc4]
push ebp
push edx
mov dword [esp + 0x1c], 1
call fcn.00403440
add esp, 8
mov dword [0x418bc4], eax
jmp 0x4024c0
mov eax, dword [0x410bc0]
mov ecx, dword [0x4185d4]
push eax
push ecx
call fcn.00401310
mov dword [0x4185d4], eax
mov dword [0x410bc0], ebx
mov al, byte [ebp + 1]
add esp, 8
cmp al, 0x30
jb 0x4019f6
cmp al, 0x39
ja 0x4019f6
mov edx, dword [0x418bc4]
push ebp
push edx
call fcn.004012b0
add esp, 8
mov dword [0x418bc4], eax
mov ebp, 0x4164d4
jmp 0x4024c0
mov eax, dword [0x418bc4]
push ebp
push eax
call fcn.00403440
add esp, 8
mov dword [0x418bc4], eax
jmp 0x4024c0
mov ecx, dword [0x418bc4]
push ebp
push ecx
call fcn.00403440
add esp, 8
mov dword [0x418bc4], eax
jmp 0x4024c0
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x401a43
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov ebp, dword [edi]
mov edx, dword [0x4185d0]
push 0x4164d8
push edx
call fcn.00403440
push ebp
push eax
mov dword [0x4185d0], eax
call fcn.00401310
push ebp
mov dword [0x4185d0], eax
call fcn.00402ea0
add esp, 0x14
mov dword [0x418a78], eax
mov ebp, 0x4164dc
jmp 0x4024c0
inc dword [0x418a80]
jmp 0x4024c0
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x401aa2
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov ebp, dword [edi]
mov eax, dword [0x418bc4]
push ebp
push 0x4164e0
push eax
call fcn.00403340
mov dword [0x418bc4], eax
mov eax, dword [0x418b58]
add esp, 0xc
cmp eax, ebx
jne 0x401af5
mov ecx, dword [0x418a50]
push ebp
push 0x4164e4
push ecx
call fcn.00403340
mov edx, dword [0x4185d0]
push ebp
push 0x4164e8
push edx
mov dword [0x418a50], eax
call fcn.00403340
add esp, 0x18
mov dword [0x4185d0], eax
mov esi, 0x4189f0
mov eax, dword [esi]
push ebp
push 0x4164ec
push eax
call fcn.00403340
add esi, 4
add esp, 0xc
cmp esi, 0x418a04
jle 0x401afa
mov ebp, 0x4164f0
jmp 0x4024c0
mov al, byte [ebp + 1]
test al, al
jne 0x401b59
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x4185cc]
add edi, 4
dec ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi]
push ecx
push ebp
push edx
call fcn.00403340
add esp, 0xc
mov dword [0x4185cc], eax
mov ebp, 0x4164f4
jmp 0x4024c0
mov eax, dword [0x4185cc]
push ebp
push eax
call fcn.004012b0
add esp, 8
mov dword [0x4185cc], eax
mov ebp, 0x4164f4
jmp 0x4024c0
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x401b91
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov ebp, dword [edi]
cmp dword [0x418b58], ebx
jne 0x401bcf
mov ecx, dword [0x418a50]
push ebp
push 0x4164f8
push ecx
call fcn.00403340
mov edx, dword [0x4185d0]
push ebp
push 0x4164fc
push edx
mov dword [0x418a50], eax
call fcn.00403340
add esp, 0x18
mov dword [0x4185d0], eax
mov dword [0x418be0], eax
mov ebp, 0x416500
jmp 0x4024c0
mov dword [0x418a54], 1
jmp 0x4024c0
inc dword [0x418bd0]
jmp 0x4024c0
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x401c1b
mov ecx, dword [esp + 0x1c]
add edi, 4
dec ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ecx
mov ebp, dword [edi]
cmp ebp, ebx
jne 0x401c1b
mov ebp, 0x416504
jmp 0x4024c0
xor eax, eax
mov al, byte [ebp]
inc ebp
mov esi, eax
cmp esi, 0x3a
jne 0x401d75
mov cl, byte [ebp]
mov eax, ebp
test cl, cl
je 0x401c42
cmp cl, 0x3a
je 0x401c42
mov cl, byte [ebp + 1]
inc ebp
test cl, cl
jne 0x401c35
cmp byte [ebp], 0
je 0x4024c0
mov byte [ebp], 0
inc ebp
mov edi, 0x416508
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401c6d
mov esi, 0x3e8
jmp 0x401d75
mov edi, 0x41650c
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401c89
mov esi, 0x3ea
jmp 0x401d75
mov edi, 0x416510
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401ca5
mov esi, 0x3e9
jmp 0x401d75
mov edi, 0x416514
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401cc1
mov esi, 0x3eb
jmp 0x401d75
mov edi, 0x416518
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401cdd
mov esi, 0x3eb
jmp 0x401d75
mov edi, 0x416520
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401cf6
mov esi, 0x70
jmp 0x401d75
mov edi, 0x416524
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401d0f
mov esi, 0x31
jmp 0x401d75
mov edi, 0x41652c
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401d28
mov esi, 0x61
jmp 0x401d75
mov edi, 0x416530
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401d41
mov esi, 0x41
jmp 0x401d75
mov edi, 0x416534
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x401d5a
mov esi, 0x6b
jmp 0x401d75
mov esi, eax
mov edi, 0x41653c
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov edx, eax
setne dl
dec edx
and edx, 0x6c
mov esi, edx
mov al, byte [ebp]
cmp al, 0x2c
je 0x401ffb
cmp al, 0x2e
jne 0x401dc1
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x401da4
xor ecx, ecx
push 0x107
mov cl, byte [ebp + 1]
push ecx
call dword [sym.imp.MSVCRT.dll__isctype]
add esp, 8
jmp 0x401db9
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
xor edx, edx
mov dl, byte [ebp + 1]
mov ecx, dword [eax]
mov ax, word [ecx + edx*2]
and eax, 0x107
cmp eax, ebx
jne 0x401ffb
cmp esi, 0x66
jg 0x401f28
je 0x401f18
lea eax, [esi - 0x30]
cmp eax, 0x34
ja case.0x401f46.104
xor edx, edx
mov dl, byte [eax + 0x402cc8]
jmp dword [edx*4 + 0x402c94]
mov dword [0x410b88], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [eax*4 + 0x418a58], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410b98], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410ba4], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bd4], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bac], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410ba0], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bc4], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bcc], ebp
mov ebp, 0x416550
jmp 0x4024c0
cmp dword [0x418b58], ebx
jne case.0x401f46.104
mov eax, dword [0x418a50]
push ebp
push 0x416540
push eax
call fcn.00403340
mov ecx, dword [0x4185d0]
push ebp
push 0x416544
push ecx
mov dword [0x418a50], eax
call fcn.00403340
add esp, 0x18
mov dword [0x4185d0], eax
mov ebp, 0x416550
jmp 0x4024c0
cmp dword [0x418b58], ebx
jne case.0x401f46.104
mov edx, dword [0x418a50]
push ebp
push 0x416548
push edx
call fcn.00403340
mov dword [0x418a50], eax
mov eax, dword [0x4185d0]
push ebp
push 0x41654c
push eax
call fcn.00403340
add esp, 0x18
mov dword [0x4185d0], eax
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bb0], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bc8], ebp
mov ebp, 0x416550
jmp 0x4024c0
cmp esi, 0x3e8
jg 0x401fbd
je case.0x401de4.48
lea eax, [esi - 0x67]
cmp eax, 0xc
ja case.0x401f46.104
jmp dword [eax*4 + 0x402d00]
mov dword [0x410b80], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410ba8], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410b9c], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bd0], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bf0], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bec], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410bc0], ebp
mov ebp, 0x416550
jmp 0x4024c0
sub esi, 0x3e9
je 0x401feb
dec esi
je 0x401fdb
dec esi
jne case.0x401f46.104
mov dword [0x410b90], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410b8c], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov dword [0x410b84], ebp
mov ebp, 0x416550
jmp 0x4024c0
mov al, byte [ebp]
cmp al, 0x2e
jne 0x4020b2
inc ebp
push ebx
push ebp
call fcn.00401340
mov ecx, dword [0x418bc8]
mov edi, eax
push edi
push ecx
call fcn.004013a0
add esp, 0x10
cmp esi, 0x3e8
mov dword [0x418bc8], eax
jg 0x402071
je 0x402060
cmp esi, 0x30
je 0x402060
cmp esi, 0x41
je 0x40204f
cmp esi, 0x61
jne 0x4020a8
mov dword [edi + 4], 0x73
mov ebp, 0x416554
jmp 0x4024c0
mov dword [edi + 4], 0x53
mov ebp, 0x416554
jmp 0x4024c0
mov dword [edi + 4], 0x63
mov ebp, 0x416554
jmp 0x4024c0
sub esi, 0x3e9
je 0x4020a1
dec esi
je 0x402090
dec esi
jne 0x4020a8
mov dword [edi + 4], 0x6a
mov ebp, 0x416554
jmp 0x4024c0
mov dword [edi + 4], 0x43
mov ebp, 0x416554
jmp 0x4024c0
mov dword [edi + 4], 0x66
mov ebp, 0x416554
jmp 0x4024c0
cmp al, 0x2c
jne 0x40229d
cmp esi, 0x6c
jg 0x4021d6
je 0x4021bc
lea edi, [esi - 0x30]
cmp edi, 0x3b
ja case.0x4020dd.54
xor edx, edx
mov dl, byte [edi + 0x402d50]
jmp dword [edx*4 + 0x402d34]
mov eax, dword [0x4185c8]
inc ebp
push ebp
push eax
call fcn.004033b0
mov ecx, dword [0x418bd8]
push ebp
push ecx
mov dword [0x4185c8], eax
call fcn.004033b0
mov edx, dword [0x418bcc]
push ebp
push edx
mov dword [0x418bd8], eax
call fcn.004033b0
mov dword [0x418bcc], eax
mov eax, dword [0x418a0c]
push ebp
push eax
call fcn.004033b0
add esp, 0x20
mov dword [0x418a0c], eax
jmp 0x402280
mov ecx, dword [edi*4 + 0x4189ec]
inc ebp
push ebp
push ecx
call fcn.004033b0
add esp, 8
mov dword [edi*4 + 0x4189ec], eax
jmp 0x402280
mov edx, dword [0x418a50]
inc ebp
push ebp
push edx
call fcn.004033b0
add esp, 8
mov dword [0x418a50], eax
jmp 0x402280
mov eax, dword [0x418a84]
inc ebp
push ebp
push eax
call fcn.004033b0
add esp, 8
mov dword [0x418a84], eax
jmp 0x402280
mov ecx, dword [0x418a08]
inc ebp
push ebp
push ecx
call fcn.004033b0
add esp, 8
mov dword [0x418a08], eax
jmp 0x402280
mov edx, dword [0x418a74]
inc ebp
push ebp
push edx
call fcn.004033b0
add esp, 8
mov dword [0x418a74], eax
jmp 0x402280
mov eax, dword [0x4185d0]
inc ebp
push ebp
push eax
call fcn.004033b0
add esp, 8
mov dword [0x4185d0], eax
jmp 0x402280
cmp esi, 0x3e9
jg 0x402234
je 0x40221d
cmp esi, 0x70
je 0x402205
cmp esi, 0x3e8
jne case.0x4020dd.54
mov ecx, dword [0x418bcc]
inc ebp
push ebp
push ecx
call fcn.004033b0
add esp, 8
mov dword [0x418bcc], eax
jmp 0x402280
mov edx, dword [0x4185cc]
inc ebp
push ebp
push edx
call fcn.004033b0
add esp, 8
mov dword [0x4185cc], eax
jmp 0x402280
mov eax, dword [0x4185c8]
inc ebp
push ebp
push eax
call fcn.004033b0
add esp, 8
mov dword [0x4185c8], eax
jmp 0x402280
mov eax, esi
sub eax, 0x3ea
je 0x40226b
dec eax
je 0x402253
lea ecx, [ebp - 2]
push ecx
push 0x416558
call fcn.00401280
add esp, 8
jmp 0x402280
mov edx, dword [0x418a0c]
inc ebp
push ebp
push edx
call fcn.004033b0
add esp, 8
mov dword [0x418a0c], eax
jmp 0x402280
mov eax, dword [0x418bd8]
inc ebp
push ebp
push eax
call fcn.004033b0
add esp, 8
mov dword [0x418bd8], eax
mov al, byte [ebp]
cmp al, 0x2c
je 0x402293
test al, al
je 0x402293
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x2c
jne 0x402287
cmp byte [ebp], 0x2c
je 0x4020ba
mov ebp, 0x41656c
jmp 0x4024c0
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x4022c1
mov eax, dword [esp + 0x1c]
add edi, 4
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov ebp, dword [edi]
mov cl, byte [ebp + 1]
xor eax, eax
mov al, byte [ebp]
inc ebp
cmp cl, 0x2c
jne 0x40244e
add eax, 0xffffffd0
cmp eax, 0x40
ja case.0x4022e7.59
xor ecx, ecx
mov cl, byte [eax + 0x402dbc]
jmp dword [ecx*4 + 0x402d8c]
inc ebp
push 0x416570
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x410b80], eax
mov ebp, 0x4165f4
jmp 0x4024c0
mov eax, dword [0x418b94]
cmp eax, ebx
mov eax, 0x416578
jne 0x40231f
mov eax, 0x416580
inc ebp
push eax
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x410b88], eax
mov ebp, 0x4165f4
jmp 0x4024c0
inc ebp
push 0x416588
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x418a5c], eax
mov ebp, 0x4165f4
jmp 0x4024c0
inc ebp
push 0x416594
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x410b98], eax
mov ebp, 0x4165f4
jmp 0x4024c0
inc ebp
push 0x416598
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x410ba8], eax
mov ebp, 0x4165f4
jmp 0x4024c0
inc ebp
push 0x4165a4
push ebp
call fcn.00402ef0
add esp, 8
mov dword [0x410b9c], eax
mov ebp, 0x4165f4
jmp 0x4024c0
inc ebp
push 0x4165a8
push ebp
call fcn.00402ef0
inc ebp
push 0x4165b0
push ebp
mov dword [0x410bd0], eax
call fcn.00402ef0
add esp, 0x10
mov dword [0x410bd4], eax
mov ebp, 0x4165f4
jmp 0x4024c0
mov edx, dword [0x4185cc]
inc ebp
push ebp
push 0x4165bc
push edx
call fcn.00403340
add esp, 0xc
mov dword [0x4185cc], eax
mov ebp, 0x4165f4
jmp 0x4024c0
dec ebp
mov dword [0x410be0], ebp
mov ebp, 0x4165f4
jmp 0x4024c0
dec ebp
mov dword [0x410bdc], ebp
mov ebp, 0x4165f4
jmp 0x4024c0
dec ebp
mov dword [0x410bd8], ebp
mov ebp, 0x4165f4
jmp 0x4024c0
dec ebp
push ebp
push 0x4165c0
call fcn.00401280
add esp, 8
mov ebp, 0x4165f4
jmp 0x4024c0
push ebx
push 0x4165d8
call fcn.00401280
add esp, 8
mov ebp, 0x4165f4
jmp 0x4024c0
mov edi, 0x4165f8
mov esi, ebp
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4024c0
mov al, byte [ebp + 1]
lea ecx, [ebp + 1]
cmp al, 0x3f
je 0x402492
cmp al, 0x58
je 0x402492
cmp al, 0x78
je 0x402492
cmp al, 0x57
je 0x402492
cmp al, 0x77
je 0x402492
push ebx
jmp 0x402493
push ecx
call fcn.00405d90
add esp, 4
push ebx
call fcn.004011e0
add esp, 4
jmp 0x4024c0
mov ecx, dword [0x4185d0]
push ebp
push ecx
call fcn.004012b0
add esp, 8
mov dword [0x4185d0], eax
mov ebp, 0x416600
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x4015d1
jmp 0x402577
push eax
call fcn.00402f80
add eax, 0xffffffbd
add esp, 4
cmp eax, 0x30
ja case.0x4024ea.68
xor edx, edx
mov dl, byte [eax + 0x402e08]
jmp dword [edx*4 + 0x402e00]
mov ebp, dword [0x4185d8]
mov eax, dword [esp + 0x20]
inc ebp
mov dword [0x4185d8], ebp
mov ecx, dword [eax]
push ecx
call fcn.00402ea0
mov esi, eax
push 0x416604
push esi
call fcn.00403260
add esp, 0xc
jmp 0x402522
mov edx, dword [esp + 0x20]
mov esi, dword [edx]
mov eax, dword [0x4185d0]
push esi
push eax
call fcn.00401310
mov ecx, dword [0x418a84]
push esi
push ecx
mov dword [0x4185d0], eax
call fcn.00401310
mov ebp, dword [0x4185dc]
mov edx, dword [esp + 0x30]
mov ecx, dword [0x4185e4]
inc ebp
mov dword [0x418a84], eax
mov dword [0x4185dc], ebp
mov eax, dword [edx]
push eax
push ecx
call fcn.00401310
mov edx, dword [esp + 0x38]
mov dword [0x4185e4], eax
push edx
call fcn.00404150
add esp, 0x1c
mov eax, dword [esp + 0x1c]
dec eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
jg 0x4015ab
mov edi, dword [sym.imp.MSVCRT.dll__putenv]
mov eax, dword [esp + 0x20]
push eax
call fcn.004041a0
push 0x416608
call edi
mov eax, dword [0x418b68]
add esp, 8
cmp eax, ebx
je 0x402631
push 0x416614
call fcn.004085a0
push 0x41661c
mov esi, eax
call fcn.004085a0
push 0x416624
mov edi, eax
call fcn.004085a0
push 0x416628
mov ebp, eax
call fcn.004085a0
add esp, 0x10
mov ebx, eax
test esi, esi
je 0x4025ee
test edi, edi
je 0x4025ee
test ebp, ebp
jne 0x4025fd
push 0
push 0x416634
call fcn.00401280
add esp, 8
push ebp
push edi
push esi
mov esi, dword [sym.imp.MSVCRT.dll_printf]
push 0x41664c
call esi
add esp, 0x10
test ebx, ebx
je 0x40261f
push ebx
push 0x416658
call esi
add esp, 8
push 0x41665c
call esi
add esp, 4
push 0
call dword [sym.imp.MSVCRT.dll_exit]
cmp dword [0x418bd0], ebx
je 0x402890
mov ecx, dword [0x418e94]
push ecx
call fcn.0040aca0
xor eax, eax
xor edx, edx
mov ah, byte [0x418a24]
mov dl, byte [0x418a25]
and eax, 0xffff
xor ecx, ecx
mov ch, byte [0x418a26]
or eax, edx
mov esi, dword [sym.imp.MSVCRT.dll_printf]
xor edx, edx
mov dl, byte [0x418a27]
and ecx, 0xffff
shl eax, 0x10
or ecx, edx
add esp, 4
or eax, ecx
je 0x40269d
push 0x416660
push eax
push 0x418c64
push 0x416664
call esi
add esp, 0x10
mov al, byte [0x418a30]
test al, al
je 0x4026bf
push 0x41667c
push 0x418a30
push 0x418c68
push 0x416680
call esi
add esp, 0x10
test byte [0x418a2b], 1
je 0x4026dc
push 0x416690
push 0x418c6c
push 0x416694
call esi
add esp, 0xc
test byte [0x418a2f], 1
je 0x402756
push ebx
call dword [sym.imp.MSVCRT.dll_time]
xor ecx, ecx
xor edx, edx
mov ch, byte [0x418a18]
mov dl, byte [0x418a19]
and ecx, 0xffff
xor ebx, ebx
mov bl, byte [0x418a1b]
or ecx, edx
xor edx, edx
add esp, 4
mov dh, byte [0x418a1a]
and edx, 0xffff
shl ecx, 0x10
or edx, ebx
xor ebx, ebx
or ecx, edx
sub ecx, eax
mov eax, 0xc22e4507
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebx
jg 0x402741
xor edx, edx
push 0x4166b0
push edx
push 0x418c70
push 0x4166b4
call esi
add esp, 0x10
cmp dword [0x418bd0], 1
jle 0x402839
mov cx, word [0x4166d8]
mov dl, byte [0x4166da]
mov edi, dword [0x410be8]
mov word [esp + 0x10], cx
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x12], dl
repne scasb al, byte es:[edi]
not ecx
add ecx, 3
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
mov esi, eax
mov eax, dword [0x410be8]
push eax
push 0x4166dc
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push ebx
lea ecx, [esp + 0x24]
push esi
push ecx
call fcn.00403d20
push esi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 0x20
mov esi, 1
push ebx
push 0x4166e4
push esi
call fcn.004041b0
add esp, 0xc
inc esi
cmp esi, 6
jle 0x4027c1
mov edx, dword [0x410b98]
cmp byte [edx], 0
je 0x4027ef
push ebx
push 0x4166e8
call fcn.00404240
add esp, 8
mov eax, dword [0x418be0]
cmp eax, ebx
je 0x402807
mov dword [eax], ebx
mov eax, dword [0x418be0]
push 0x4166ec
push eax
jmp 0x402813
mov ecx, dword [0x4185d0]
push 0x4166f0
push ecx
call fcn.00403440
mov edx, dword [0x410b9c]
mov dword [0x4185d0], eax
add esp, 8
cmp byte [edx], 0
je 0x402830
call fcn.00404370
push ebx
call fcn.004011e0
add esp, 4
mov eax, dword [0x418bc4]
push 0x4166f4
push eax
call fcn.004012b0
add esp, 8
mov esi, 0x4189f0
mov ecx, dword [esi]
push 0x4166f8
push ecx
call fcn.004012b0
add esi, 4
add esp, 8
cmp esi, 0x418a04
jle 0x402851
mov edx, dword [0x418a50]
push 0x4166fc
push edx
call fcn.004012b0
mov eax, dword [0x4185d0]
push 0x416700
push eax
call fcn.004012b0
add esp, 0x10
mov eax, dword [0x418a78]
cmp eax, ebx
je case.0x4028b2.70
push eax
call fcn.00402f80
add eax, 0xffffffbd
add esp, 4
cmp eax, 0x30
ja case.0x4028b2.70
xor ecx, ecx
mov cl, byte [eax + 0x402e4c]
jmp dword [ecx*4 + 0x402e3c]
cmp dword [0x418bdc], 2
je case.0x4028b2.70
mov edx, dword [0x418a78]
push edx
push 0x416704
jmp 0x4028f2
cmp dword [0x418bdc], 3
je case.0x4028b2.70
mov eax, dword [0x418a78]
push eax
push 0x41671c
jmp 0x4028f2
mov ecx, dword [0x418a78]
push ecx
push 0x416734
call fcn.00401280
add esp, 8
mov eax, dword [esp + 0x14]
mov edx, dword [0x4185d0]
cmp eax, ebx
push edx
je 0x402922
mov eax, dword [0x410bcc]
mov ecx, dword [0x410bd4]
push eax
push ecx
push ebx
call fcn.004033f0
add esp, 8
push eax
jmp 0x402929
mov eax, dword [0x410bd0]
push eax
push ebx
call fcn.004033f0
add esp, 8
push eax
call fcn.004013a0
mov ecx, dword [0x410bd8]
mov dword [0x4185d0], eax
add esp, 8
cmp byte [ecx], 0
je 0x40298c
push eax
push ecx
push 0x41674c
push ebx
call fcn.00401310
add esp, 8
push eax
call fcn.00401310
add esp, 8
push eax
call fcn.004013a0
mov edx, dword [0x410bd8]
mov ecx, dword [0x418a84]
add esp, 8
add edx, 2
mov dword [0x4185d0], eax
push ecx
push edx
push 0x416750
jmp 0x402a3f
mov ecx, dword [0x410bdc]
cmp byte [ecx], 0
je 0x4029f8
push eax
push ecx
push 0x416754
push ebx
call fcn.00401310
add esp, 8
push eax
call fcn.00401310
add esp, 8
push eax
call fcn.004013a0
mov ecx, dword [0x410bdc]
add esp, 8
mov dword [0x4185d0], eax
mov eax, dword [0x418a84]
add ecx, 2
push eax
push ecx
push 0x416758
push ebx
call fcn.00401310
add esp, 8
push eax
call fcn.00401310
add esp, 8
push eax
call fcn.004013a0
mov dword [0x418a84], eax
mov eax, dword [0x4185d0]
add esp, 8
mov ecx, dword [0x410be0]
cmp byte [ecx], 0
je 0x402a5f
push eax
push ecx
push 0x41675c
push ebx
call fcn.00401310
add esp, 8
push eax
call fcn.00401310
add esp, 8
push eax
call fcn.004013a0
mov edx, dword [0x418a84]
mov dword [0x4185d0], eax
mov eax, dword [0x410be0]
add esp, 8
add eax, 2
push edx
push eax
push 0x416760
push ebx
call fcn.00401310
add esp, 8
push eax
call fcn.00401310
add esp, 8
push eax
call fcn.004013a0
add esp, 8
mov dword [0x418a84], eax
cmp dword [0x418b9c], ebx
je 0x402a77
mov ecx, dword [0x410bb8]
mov edx, dword [0x4185d4]
push ecx
push edx
jmp 0x402a84
mov eax, dword [0x410bbc]
mov ecx, dword [0x4185d4]
push eax
push ecx
call fcn.004033f0
mov ecx, dword [0x418ae0]
add esp, 8
cmp ecx, ebx
mov dword [0x4185d4], eax
jne 0x402ab0
mov edx, dword [0x410bac]
push edx
push eax
call fcn.004033f0
add esp, 8
mov dword [0x4185d4], eax
mov ecx, dword [0x410bf0]
push ecx
push eax
call fcn.00401310
mov edx, dword [0x410bec]
mov dword [0x4185d4], eax
push edx
push eax
call fcn.00401310
mov dword [0x4185d4], eax
mov eax, dword [0x410b80]
add esp, 0x10
cmp byte [eax], 0
jne 0x402b08
mov ecx, dword [0x4185cc]
mov edx, dword [0x418bc4]
push ecx
push edx
call fcn.004013a0
add esp, 8
mov dword [0x418bc4], eax
mov dword [0x418a7c], 1
jmp 0x402b20
mov eax, dword [0x418bc4]
push 0x416764
push eax
call fcn.00401310
add esp, 8
mov dword [0x418bc4], eax
mov ecx, dword [0x418bcc]
push ecx
push eax
call fcn.004032f0
add esp, 4
push eax
call fcn.004013a0
mov edx, dword [0x418bd8]
add esp, 8
mov dword [0x418bcc], eax
mov eax, dword [0x418bc4]
push edx
push eax
call fcn.004032f0
add esp, 4
push eax
call fcn.004013a0
mov ecx, dword [0x4185c8]
mov edx, dword [0x418bc4]
push ecx
push edx
mov dword [0x418bd8], eax
call fcn.004013a0
mov ecx, dword [0x418bc4]
mov dword [0x4185c8], eax
mov eax, dword [0x418a0c]
push eax
push ecx
call fcn.004013a0
mov esi, dword [sym.imp.MSVCRT.dll_signal]
push 1
push 2
mov dword [0x418a0c], eax
call esi
add esp, 0x20
cmp eax, 1
je 0x402bad
push 0x402e80
push 2
call esi
add esp, 8
push 1
push 0xf
call esi
add esp, 8
cmp eax, 1
je 0x402bc7
push 0x402e80
push 0xf
call esi
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret