Function at 0x401010
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x137c
call fcn.004073c0
mov eax, dword [0x41b5f0]
mov dword [ebp - 0x18], eax
mov dword [0x41ca08], 0
mov dword [0x41ca1c], 0xffffffff
mov dword [0x41ca60], 0
mov dword [0x41ca3c], 0xffffffff
mov dword [0x41ca4c], 0xffffffff
mov dword [0x41ca34], 0xffffffff
mov dword [0x41ca30], 0xffffffff
mov dword [0x41ca38], 0
mov dword [0x41ca28], 0
mov dword [0x41ca64], 0
mov dword [0x41ca54], 0
mov dword [0x41ca24], 0
mov dword [0x41ca40], 0
mov dword [0x41ca10], 0
mov dword [0x41ca20], 0
mov dword [0x41ca50], 0x41b370
mov dword [0x41ca68], 0x41b390
mov dword [0x41ca58], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [0x41ca0c], ecx
mov dword [0x41ca44], 0
cmp dword [ebp + 8], 2
jne 0x401156
push 0x76
push 0x41b040
lea edx, [ebp - 0x10]
push edx
call fcn.0040714d
add esp, 0xc
push 0x76
push 0x41b044
lea eax, [ebp - 0xc]
push eax
call fcn.0040714d
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.004070c0
add esp, 8
test eax, eax
je 0x40114a
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.004070c0
add esp, 8
test eax, eax
jne 0x401156
call fcn.00405d20
push 0
call fcn.00407067
cmp dword [ebp + 8], 4
jge 0x401170
mov ecx, dword [0x41ca0c]
push ecx
call fcn.00402990
add esp, 4
jmp 0x4011f4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [0x41ca08], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [0x41ca0c]
push eax
push 0x41ca1c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
call fcn.00402ab0
add esp, 0xc
cmp dword [0x41c500], 0
je 0x4011c4
mov eax, dword [0x41ca08]
mov dword [0x41ca5c], eax
mov dword [0x41ca08], 0
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [0x41ca60], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp + 8], 0
jle 0x4024b4
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dl, byte [ecx]
mov byte [ebp - 1], dl
movsx eax, byte [ebp - 1]
cmp eax, 0x2d
je 0x401230
movsx ecx, byte [ebp - 1]
cmp ecx, 0x2f
jne 0x4024b4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x401246
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx]
test eax, eax
je 0x4024af
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx]
mov dword [ebp - 0x137c], edx
mov eax, dword [ebp - 0x137c]
sub eax, 0x36
mov dword [ebp - 0x137c], eax
cmp dword [ebp - 0x137c], 0x41
ja case.0x401289.1
mov ecx, dword [ebp - 0x137c]
movzx edx, byte [ecx + 0x40271a]
jmp dword [edx*4 + 0x4026a6]
cmp dword [ebp + 8], 1
jle 0x4012cf
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4012cf
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x4012cf
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x4012ee
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x4012ee
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4012d8
push 0x41c4e2
mov edx, dword [ebp - 0x14]
push edx
call fcn.004070c0
add esp, 8
test eax, eax
jne 0x401351
push 0x100
lea eax, [ebp - 0x118]
push eax
push 1
mov ecx, dword [0x41ca14]
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
mov edx, dword [0x41ca0c]
push edx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x318]
push ecx
call fcn.0040714d
add esp, 0xc
lea edx, [ebp - 0x318]
push edx
call fcn.00406ded
add esp, 4
push 1
call fcn.00407067
push 0x41b048
mov eax, dword [ebp - 0x14]
push eax
call fcn.00403020
add esp, 8
mov dword [0x41ca50], eax
cmp dword [0x41ca50], 0
jne 0x4013c2
push 0x100
lea ecx, [ebp - 0x418]
push ecx
push 2
mov edx, dword [0x41ca14]
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x41ca0c]
push ecx
lea edx, [ebp - 0x418]
push edx
lea eax, [ebp - 0x618]
push eax
call fcn.0040714d
add esp, 0x10
lea ecx, [ebp - 0x618]
push ecx
call fcn.00406ded
add esp, 4
push 1
call fcn.00407067
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401409
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401409
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401409
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x40142b
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 1]
test edx, edx
je 0x40142b
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x401415
push 0x41c4e3
mov ecx, dword [ebp - 0x61c]
push ecx
call fcn.004070c0
add esp, 8
test eax, eax
jne 0x401490
push 0x100
lea edx, [ebp - 0x720]
push edx
push 3
mov eax, dword [0x41ca14]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [0x41ca0c]
push ecx
lea edx, [ebp - 0x720]
push edx
lea eax, [ebp - 0x920]
push eax
call fcn.0040714d
add esp, 0xc
lea ecx, [ebp - 0x920]
push ecx
call fcn.00406ded
add esp, 4
push 1
call fcn.00407067
push 0x41b04c
mov edx, dword [ebp - 0x61c]
push edx
call fcn.00403020
add esp, 8
mov dword [0x41ca68], eax
cmp dword [0x41ca68], 0
jne 0x401506
push 0x100
lea eax, [ebp - 0xa20]
push eax
push 4
mov ecx, dword [0x41ca14]
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
mov edx, dword [ebp - 0x61c]
push edx
mov eax, dword [0x41ca0c]
push eax
lea ecx, [ebp - 0xa20]
push ecx
lea edx, [ebp - 0xc20]
push edx
call fcn.0040714d
add esp, 0x10
lea eax, [ebp - 0xc20]
push eax
call fcn.00406ded
add esp, 4
push 1
call fcn.00407067
jmp 0x4024aa
mov dword [0x41c504], 0x3c
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x40155c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x40155c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x40155c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc24], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x40157e
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 0xc24], edx
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x40157e
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x401568
mov eax, dword [ebp - 0xc24]
push eax
call fcn.00406560
add esp, 4
mov dword [0x41c504], eax
jmp 0x4024aa
mov dword [0x41c4ec], 1
jmp 0x4024aa
cmp dword [0x41ca20], 0
je 0x4015c0
mov ecx, dword [0x41ca20]
push ecx
push 2
call fcn.00402d00
add esp, 8
mov dword [0x41ca20], 2
jmp 0x4024aa
cmp dword [0x41ca20], 0
je 0x4015e9
mov edx, dword [0x41ca20]
push edx
push 1
call fcn.00402d00
add esp, 8
mov dword [0x41ca20], 1
cmp dword [0x41ca54], 0
jne 0x401654
push 2
call fcn.00406dd6
add esp, 4
mov dword [0x41ca54], eax
push 2
push 0
mov eax, dword [0x41ca54]
push eax
call fcn.00406cc0
add esp, 0xc
lea ecx, [ebp - 0xc28]
push ecx
push 0x41b050
call fcn.00405a70
add esp, 8
push eax
mov edx, dword [0x41ca54]
push edx
call fcn.00406300
add esp, 8
mov eax, dword [0x41ca54]
push eax
call fcn.00406c30
add esp, 4
mov dword [0x41ca40], eax
cmp dword [0x41ca24], 0
jne 0x4016b6
push 3
call fcn.00406dd6
add esp, 4
mov dword [0x41ca24], eax
push 3
push 0
mov ecx, dword [0x41ca24]
push ecx
call fcn.00406cc0
add esp, 0xc
lea edx, [ebp - 0xc2c]
push edx
push 0x41b054
call fcn.00405a70
add esp, 8
push eax
mov eax, dword [0x41ca24]
push eax
call fcn.00406300
add esp, 8
mov ecx, dword [0x41ca24]
push ecx
call fcn.00406c30
add esp, 4
mov dword [0x41ca10], eax
jmp 0x4024aa
cmp dword [0x41ca20], 0
je 0x4016d5
mov edx, dword [0x41ca20]
push edx
push 4
call fcn.00402d00
add esp, 8
mov dword [0x41ca20], 4
cmp dword [0x41ca54], 0
jne 0x401751
mov dword [ebp - 0xc30], 0
push 4
call fcn.00406dd6
add esp, 4
mov dword [0x41ca54], eax
push 4
push 0
mov eax, dword [0x41ca54]
push eax
call fcn.00406cc0
add esp, 0xc
lea ecx, [ebp - 0xc30]
push ecx
push 0x41b058
call fcn.00405a70
add esp, 8
push eax
mov edx, dword [0x41ca54]
push edx
call fcn.00406c01
add esp, 8
mov eax, dword [0x41ca54]
push eax
call fcn.00406bb7
add esp, 4
shl eax, 1
mov dword [0x41ca40], eax
jmp 0x4017ec
mov ecx, dword [0x41ca54]
push ecx
call fcn.00406c30
add esp, 4
lea edx, [eax + eax + 2]
push edx
call fcn.00406dd6
add esp, 4
mov dword [ebp - 0xc34], eax
mov eax, dword [0x41ca54]
push eax
call fcn.00406c30
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push 0
mov edx, dword [ebp - 0xc34]
push edx
call fcn.00406cc0
add esp, 0xc
mov eax, dword [0x41ca54]
push eax
call fcn.00406c30
add esp, 4
push eax
mov ecx, dword [0x41ca54]
push ecx
mov edx, dword [ebp - 0xc34]
push edx
call fcn.00406b87
add esp, 0xc
mov eax, dword [0x41ca54]
push eax
call fcn.00406a11
add esp, 4
mov ecx, dword [ebp - 0xc34]
mov dword [0x41ca54], ecx
mov edx, dword [0x41ca54]
push edx
call fcn.00406bb7
add esp, 4
shl eax, 1
mov dword [0x41ca40], eax
cmp dword [0x41ca24], 0
jne 0x401854
push 6
call fcn.00406dd6
add esp, 4
mov dword [0x41ca24], eax
push 6
push 0
mov eax, dword [0x41ca24]
push eax
call fcn.00406cc0
add esp, 0xc
lea ecx, [ebp - 0xc38]
push ecx
push 0x41b05c
call fcn.00405a70
add esp, 8
push eax
mov edx, dword [0x41ca24]
push edx
call fcn.00406c01
add esp, 8
mov eax, dword [0x41ca24]
push eax
call fcn.00406bb7
add esp, 4
shl eax, 1
mov dword [0x41ca10], eax
jmp 0x4018ef
mov ecx, dword [0x41ca24]
push ecx
call fcn.00406c30
add esp, 4
lea edx, [eax + eax + 2]
push edx
call fcn.00406dd6
add esp, 4
mov dword [ebp - 0xc3c], eax
mov eax, dword [0x41ca24]
push eax
call fcn.00406c30
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push 0
mov edx, dword [ebp - 0xc3c]
push edx
call fcn.00406cc0
add esp, 0xc
mov eax, dword [0x41ca24]
push eax
call fcn.00406c30
add esp, 4
push eax
mov ecx, dword [0x41ca24]
push ecx
mov edx, dword [ebp - 0xc3c]
push edx
call fcn.00406b87
add esp, 0xc
mov eax, dword [0x41ca24]
push eax
call fcn.00406a11
add esp, 4
mov ecx, dword [ebp - 0xc3c]
mov dword [0x41ca24], ecx
mov edx, dword [0x41ca24]
push edx
call fcn.00406bb7
add esp, 4
shl eax, 1
mov dword [0x41ca10], eax
jmp 0x4024aa
mov dword [0x41ca04], 1
jmp 0x4024aa
mov dword [0x41c4f8], 1
jmp 0x4024aa
cmp dword [0x41ca4c], 0xffffffff
je 0x401925
push 0x46
call fcn.00402c80
add esp, 4
cmp dword [ebp + 8], 1
jle 0x401986
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401986
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401986
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x46
call fcn.00402b80
add esp, 8
mov dword [0x41ca4c], eax
mov edx, dword [0x41ca34]
push edx
mov eax, dword [0x41ca4c]
push eax
call fcn.00402770
add esp, 8
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x4019c8
mov eax, dword [ebp - 8]
add eax, 1
push eax
push 0x46
call fcn.00402b80
add esp, 8
mov dword [0x41ca4c], eax
mov ecx, dword [0x41ca34]
push ecx
mov edx, dword [0x41ca4c]
push edx
call fcn.00402770
add esp, 8
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x4019c8
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x4019b2
jmp 0x4024aa
cmp dword [0x41ca34], 0xffffffff
je 0x4019e0
push 0x4c
call fcn.00402c80
add esp, 4
cmp dword [ebp + 8], 1
jle 0x401a41
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401a41
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401a41
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x4c
call fcn.00402b80
add esp, 8
mov dword [0x41ca34], eax
mov edx, dword [0x41ca34]
push edx
mov eax, dword [0x41ca4c]
push eax
call fcn.00402880
add esp, 8
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x401a83
mov eax, dword [ebp - 8]
add eax, 1
push eax
push 0x4c
call fcn.00402b80
add esp, 8
mov dword [0x41ca34], eax
mov ecx, dword [0x41ca34]
push ecx
mov edx, dword [0x41ca4c]
push edx
call fcn.00402880
add esp, 8
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x401a83
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x401a6d
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401ad4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401ad4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401ad4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x62
call fcn.00402b80
add esp, 8
mov dword [0x41ca3c], eax
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x401b00
mov ecx, dword [ebp - 8]
add ecx, 1
push ecx
push 0x62
call fcn.00402b80
add esp, 8
mov dword [0x41ca3c], eax
mov edx, dword [ebp - 8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x401b00
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x401aea
cmp dword [0x41ca3c], 0
jg 0x401b96
push 0x100
lea edx, [ebp - 0xd40]
push edx
push 0x22
mov eax, dword [0x41ca14]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [ebp - 0xd40]
push ecx
lea edx, [ebp - 0xd40]
push edx
call dword [sym.imp.USER32.dll_CharToOemA]
mov eax, dword [0x41ca0c]
push eax
lea ecx, [ebp - 0xd40]
push ecx
lea edx, [ebp - 0xf40]
push edx
call fcn.0040714d
add esp, 0xc
lea eax, [ebp - 0xf40]
push eax
mov ecx, dword [0x41ca68]
push ecx
call fcn.004069ae
add esp, 8
push 0x41b060
mov edx, dword [0x41ca68]
push edx
call fcn.004069ae
add esp, 8
mov eax, dword [0x41ca0c]
push eax
call fcn.00402990
add esp, 4
push 1
call fcn.00407067
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401be7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401be7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401be7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push 0x6d
call fcn.00402b80
add esp, 8
mov dword [0x41ca30], eax
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x401c13
mov edx, dword [ebp - 8]
add edx, 1
push edx
push 0x6d
call fcn.00402b80
add esp, 8
mov dword [0x41ca30], eax
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x401c13
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x401bfd
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401c56
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401c56
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401c56
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp - 8], eax
jmp 0x401c5f
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [0x41ca54], 0
je 0x401c77
mov edx, dword [0x41ca54]
push edx
call fcn.00406a11
add esp, 4
mov eax, dword [ebp - 8]
push eax
call fcn.00406c30
add esp, 4
add eax, 1
mov dword [ebp - 0xf44], eax
cmp dword [0x41ca20], 4
jne 0x401ca3
mov ecx, dword [ebp - 0xf44]
shl ecx, 1
mov dword [ebp - 0xf44], ecx
mov edx, dword [ebp - 0xf44]
push edx
call fcn.00406dd6
add esp, 4
mov dword [0x41ca54], eax
mov eax, dword [ebp - 0xf44]
push eax
push 0
mov ecx, dword [0x41ca54]
push ecx
call fcn.00406cc0
add esp, 0xc
push 2
push 0x41b064
mov edx, dword [ebp - 8]
push edx
call fcn.00406970
add esp, 0xc
test eax, eax
jne 0x401d49
mov eax, dword [0x41ca54]
push eax
mov ecx, dword [ebp - 8]
add ecx, 2
push ecx
call fcn.00402ec0
add esp, 8
movsx edx, ax
cmp edx, 0xffffffff
jne 0x401d33
lea eax, [ebp - 0xf48]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00405a70
add esp, 8
push eax
mov edx, dword [0x41ca54]
push edx
call fcn.00406300
add esp, 8
mov eax, dword [ebp - 0xf48]
mov dword [0x41ca40], eax
jmp 0x401d47
mov ecx, dword [0x41ca54]
push ecx
call fcn.00406c30
add esp, 4
mov dword [0x41ca40], eax
jmp 0x401d8a
lea edx, [ebp - 0xf4c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00405a70
add esp, 8
mov dword [ebp - 0xf50], eax
mov ecx, dword [ebp - 0xf4c]
push ecx
mov edx, dword [ebp - 0xf50]
push edx
mov eax, dword [0x41ca54]
push eax
call fcn.00406620
add esp, 0xc
mov ecx, dword [ebp - 0xf4c]
mov dword [0x41ca40], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x401da0
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x401d8a
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401de3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401de3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401de3
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 8], edx
jmp 0x401dec
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [0x41ca24], 0
je 0x401e04
mov ecx, dword [0x41ca24]
push ecx
call fcn.00406a11
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.00406c30
add esp, 4
add eax, 1
mov dword [ebp - 0xf54], eax
cmp dword [0x41ca20], 4
jne 0x401e30
mov eax, dword [ebp - 0xf54]
shl eax, 1
mov dword [ebp - 0xf54], eax
mov ecx, dword [ebp - 0xf54]
push ecx
call fcn.00406dd6
add esp, 4
mov dword [0x41ca24], eax
mov edx, dword [ebp - 0xf54]
push edx
push 0
mov eax, dword [0x41ca24]
push eax
call fcn.00406cc0
add esp, 0xc
push 2
push 0x41b068
mov ecx, dword [ebp - 8]
push ecx
call fcn.00406970
add esp, 0xc
test eax, eax
jne 0x401ed6
mov edx, dword [0x41ca24]
push edx
mov eax, dword [ebp - 8]
add eax, 2
push eax
call fcn.00402ec0
add esp, 8
movsx ecx, ax
cmp ecx, 0xffffffff
jne 0x401ec1
lea edx, [ebp - 0xf58]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00405a70
add esp, 8
push eax
mov ecx, dword [0x41ca24]
push ecx
call fcn.00406300
add esp, 8
mov edx, dword [ebp - 0xf58]
mov dword [0x41ca10], edx
jmp 0x401ed4
mov eax, dword [0x41ca24]
push eax
call fcn.00406c30
add esp, 4
mov dword [0x41ca10], eax
jmp 0x401f17
lea ecx, [ebp - 0xf5c]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00405a70
add esp, 8
mov dword [ebp - 0xf60], eax
mov eax, dword [ebp - 0xf5c]
push eax
mov ecx, dword [ebp - 0xf60]
push ecx
mov edx, dword [0x41ca24]
push edx
call fcn.00406620
add esp, 0xc
mov eax, dword [ebp - 0xf5c]
mov dword [0x41ca10], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 1]
test edx, edx
je 0x401f2d
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x401f17
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x401f74
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401f74
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401f74
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [0x41ca38], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x401f96
mov edx, dword [ebp - 8]
add edx, 1
mov dword [0x41ca38], edx
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x401f96
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x401f80
jmp 0x4024aa
cmp dword [0x41c4e8], 0
jne 0x401fc7
cmp dword [0x41ca20], 0
je 0x401fbd
mov eax, dword [0x41ca20]
push eax
push 3
call fcn.00402d00
add esp, 8
mov dword [0x41ca20], 3
cmp dword [ebp + 8], 1
jle 0x402009
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x402009
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x402009
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [0x41ca28], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x40202b
mov edx, dword [ebp - 8]
add edx, 1
mov dword [0x41ca28], edx
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x40202b
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x402015
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x402072
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x402072
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x402072
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [0x41ca64], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x402094
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [0x41ca64], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x402094
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x40207e
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x4020e4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x4020e4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x4020e4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.004064d3
add esp, 4
mov dword [ebp - 0xf64], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x40210f
mov eax, dword [ebp - 8]
add eax, 1
push eax
call fcn.004064d3
add esp, 4
mov dword [ebp - 0xf64], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 1]
test edx, edx
je 0x40210f
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x4020f9
cmp dword [ebp - 0xf64], 0x200
jb 0x402127
cmp dword [ebp - 0xf64], 0xffff
jbe 0x402186
push 0x100
lea ecx, [ebp - 0x1068]
push ecx
push 0x23
mov edx, dword [0x41ca14]
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x1068]
push eax
lea ecx, [ebp - 0x1068]
push ecx
call dword [sym.imp.USER32.dll_CharToOemA]
push 0x1000
push 0xffff
push 0x200
lea edx, [ebp - 0x1068]
push edx
mov eax, dword [0x41ca68]
push eax
call fcn.004069ae
add esp, 0x14
mov dword [0x41b210], 0x1000
jmp 0x402192
mov ecx, dword [ebp - 0xf64]
mov dword [0x41b210], ecx
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x4021d8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x4021d8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x4021d8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [0x41ca58], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x4021f9
mov eax, dword [ebp - 8]
add eax, 1
mov dword [0x41ca58], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 1]
test edx, edx
je 0x4021f9
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x4021e3
jmp 0x4024aa
call fcn.00405d20
jmp 0x4024aa
mov dword [0x41c4f0], 1
jmp 0x4024aa
mov dword [0x41c4f4], 1
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x402268
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x402268
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x402268
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [0x41ca44], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x40228a
mov edx, dword [ebp - 8]
add edx, 1
mov dword [0x41ca44], edx
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 1]
test ecx, ecx
je 0x40228a
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x402274
jmp 0x4024aa
cmp dword [0x41c500], 0
je 0x4022e4
push 0x100
lea eax, [ebp - 0x1168]
push eax
push 0x3e
mov ecx, dword [0x41ca14]
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0x1168]
push edx
lea eax, [ebp - 0x1168]
push eax
call dword [sym.imp.USER32.dll_CharToOemA]
lea ecx, [ebp - 0x1168]
push ecx
mov edx, dword [0x41ca68]
push edx
call fcn.004069ae
add esp, 8
push 1
call fcn.00407067
cmp dword [ebp + 8], 1
jle 0x402326
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x402326
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x402326
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [0x41ca5c], ecx
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x402348
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [0x41ca5c], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x402348
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x402332
jmp 0x4024aa
cmp dword [ebp + 8], 1
jle 0x40238f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x40238f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x40238f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x116c], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x4023b1
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 0x116c], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 1]
test edx, edx
je 0x4023b1
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x40239b
push 0x41b06c
mov ecx, dword [ebp - 0x116c]
push ecx
call fcn.00407d54
add esp, 8
test eax, eax
jne 0x4023d5
mov dword [0x41b214], 0
jmp 0x402431
push 0x41b070
mov edx, dword [ebp - 0x116c]
push edx
call fcn.00407d54
add esp, 8
test eax, eax
jne 0x4023f9
mov dword [0x41b214], 1
jmp 0x402431
push 0x41b074
mov eax, dword [ebp - 0x116c]
push eax
call fcn.00407d54
add esp, 8
test eax, eax
jne 0x40241d
mov dword [0x41b214], 0xffffffff
jmp 0x402431
mov ecx, dword [ebp - 0x116c]
push ecx
call fcn.00406560
add esp, 4
mov dword [0x41b214], eax
jmp 0x4024aa
mov dword [0x41c4fc], 1
mov dword [0x41ca20], 5
jmp 0x4024aa
push 0x100
lea edx, [ebp - 0x1270]
push edx
push 5
mov eax, dword [0x41ca14]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [ebp - 0x1270]
push ecx
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.USER32.dll_CharToOemA]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
push ecx
mov edx, dword [0x41ca0c]
push edx
lea eax, [ebp - 0x1270]
push eax
mov ecx, dword [0x41ca68]
push ecx
call fcn.004069ae
add esp, 0x10
mov edx, dword [0x41ca0c]
push edx
call fcn.00402990
add esp, 4
jmp 0x40123d
jmp 0x4011f4
cmp dword [ebp + 8], 0
jle 0x40250c
push 0x100
lea eax, [ebp - 0x1370]
push eax
push 6
mov ecx, dword [0x41ca14]
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
lea edx, [ebp - 0x1370]
push edx
lea eax, [ebp - 0x1370]
push eax
call dword [sym.imp.USER32.dll_CharToOemA]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x1370]
push eax
mov ecx, dword [0x41ca68]
push ecx
call fcn.004069ae
add esp, 0xc
push 1
call fcn.00407067
cmp dword [0x41c504], 0x3c
je 0x402527
cmp dword [0x41c504], 0x41
je 0x402527
cmp dword [0x41c504], 0x46
jne 0x40253a
cmp dword [0x41ca20], 0
jne 0x40253a
mov dword [0x41ca20], 2
cmp dword [0x41c4f4], 0
je 0x40265e
cmp dword [0x41ca08], 0
je 0x40265e
mov edx, dword [0x41ca08]
push edx
call fcn.00406c30
add esp, 4
cmp eax, 0xff
ja 0x40265e
mov eax, dword [0x41ca08]
mov dword [ebp - 0x1374], eax
push 0x2e
mov ecx, dword [ebp - 0x1374]
push ecx
call fcn.00406410
add esp, 8
mov dword [ebp - 0x1378], eax
cmp dword [ebp - 0x1378], 0
je 0x40260f
mov edx, dword [ebp - 0x1378]
sub edx, dword [ebp - 0x1374]
je 0x4025ec
push str.__.__
push 0x41c360
call fcn.00406310
add esp, 8
mov eax, dword [ebp - 0x1378]
sub eax, dword [ebp - 0x1374]
push eax
mov ecx, dword [ebp - 0x1374]
push ecx
push 0x41c360
call fcn.004061c0
add esp, 0xc
push 0x41b07c
push 0x41c360
call fcn.00406310
add esp, 8
push 0x41b080
push 0x41c360
call fcn.00406310
add esp, 8
mov edx, dword [ebp - 0x1378]
add edx, 1
mov dword [ebp - 0x1374], edx
jmp 0x402647
push 0x41b084
push 0x41c360
call fcn.00406310
add esp, 8
mov eax, dword [ebp - 0x1374]
push eax
push 0x41c360
call fcn.00406310
add esp, 8
push 0x41b088
push 0x41c360
call fcn.00406310
add esp, 8
cmp dword [ebp - 0x1378], 0
jne 0x402579
mov dword [0x41ca08], 0x41c360
cmp dword [0x41ca58], 0
jne 0x40267a
cmp dword [0x41c4f0], 0
jne 0x40267a
call fcn.00402df0
mov dword [0x41ca58], eax
cmp dword [0x41ca44], 0
je 0x402690
mov ecx, dword [0x41ca44]
movsx edx, byte [ecx]
test edx, edx
jne 0x40269a
mov dword [0x41ca44], 0x41c4e4
mov ecx, dword [ebp - 0x18]
call fcn.004073a0
mov esp, ebp
pop ebp
ret