Function at 0x40202c
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5677c6
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x5d3fc4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x74], ecx
push 2
pop eax
shl eax, 4
push 0x6f
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xf
push 0x48
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xe
push 0x65
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 6
push 0x65
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
shl eax, 0
push 0x65
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xa
push 0x65
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
shl eax, 2
push 0x61
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
shl eax, 1
push 0x73
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
shl eax, 3
push 0x6f
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 3
push 0x73
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0x13
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x28
jae 0x4020fc
jmp 0x402101
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0xac]
mov word [ebp + ecx - 0x5c], ax
push 2
pop eax
imul eax, eax, 5
push 0x67
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 9
push 0x52
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 7
push 0x54
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0
push 0x4d
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xb
push 0x6d
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xd
push 0x76
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0xc
push 0x6f
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0x11
push 0x6f
pop ecx
mov word [ebp + eax - 0x5c], cx
push 2
pop eax
imul eax, eax, 0x12
push 0x6b
pop ecx
mov word [ebp + eax - 0x5c], cx
lea eax, [ebp - 0x5c]
push eax
call fcn.00405df4
pop ecx
mov ecx, dword [ebp - 0x74]
mov dword [ecx + 0xcc], eax
and dword [ebp - 0xa8], 0
mov dword [ebp - 0xf4], 8
mov dword [ebp - 0xf0], 0xff
lea eax, [ebp - 0xf4]
push eax
call fcn.00404c51
pop ecx
mov ecx, dword [ebp - 0x74]
call fcn.004070a5
push 0xc
call fcn.004063f3
pop ecx
mov dword [ebp - 0xb0], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0xb0], 0
je 0x4021fd
mov ecx, dword [ebp - 0xb0]
call fcn.00407f1a
mov dword [ebp - 0xb4], eax
jmp 0x402204
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xcc], eax
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa4], eax
push 0x57cc28
call fcn.0041082c
lea eax, [ebp - 0xb8]
push eax
call fcn.004051f5
push eax
call fcn.0040586e
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
push 0x5adcd0
lea ecx, [ebp - 0x80]
call fcn.00403d52
mov dword [ebp - 4], 1
push 0x5adcd0
lea ecx, [ebp - 0x7c]
call fcn.00403d52
mov byte [ebp - 4], 2
mov byte [ebp - 0x65], 0
mov byte [ebp - 0x66], 0
push 0xc8
call fcn.0040619e
pop ecx
cmp dword [ebp - 0x70], 0
je 0x4024f8
cmp dword [ebp - 0xb8], 1
jle 0x4024f8
mov dword [ebp - 0x6c], 1
jmp 0x4022a0
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0xb8]
jge 0x4024f8
push 2
pop eax
shl eax, 0
push 0x70
pop ecx
mov word [ebp + eax - 0x34], cx
push 2
pop eax
imul eax, eax, 5
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0xc
jae 0x4022d4
jmp 0x4022d9
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0xbc]
mov word [ebp + ecx - 0x34], ax
push 2
pop eax
shl eax, 2
push 0x68
pop ecx
mov word [ebp + eax - 0x34], cx
push 2
pop eax
imul eax, eax, 0
push 0x2d
pop ecx
mov word [ebp + eax - 0x34], cx
push 2
pop eax
shl eax, 1
push 0x61
pop ecx
mov word [ebp + eax - 0x34], cx
push 2
pop eax
imul eax, eax, 3
push 0x74
pop ecx
mov word [ebp + eax - 0x34], cx
push 2
pop eax
shl eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 6
jae 0x402333
jmp 0x402338
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0xc0]
mov word [ebp + ecx - 0x20], ax
push 2
pop eax
imul eax, eax, 0
push 0x25
pop ecx
mov word [ebp + eax - 0x20], cx
push 2
pop eax
shl eax, 0
push 0x73
pop ecx
mov word [ebp + eax - 0x20], cx
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4]
call fcn.0054f050
pop ecx
pop ecx
test eax, eax
jne 0x402393
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4 + 4]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040346d
add esp, 0xc
push 2
pop eax
imul eax, eax, 0
push 0x2d
pop ecx
mov word [ebp + eax - 0x18], cx
push 2
pop eax
imul eax, eax, 3
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 8
jae 0x4023b8
jmp 0x4023bd
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0x88]
mov word [ebp + ecx - 0x18], ax
push 2
pop eax
shl eax, 1
push 0x64
pop ecx
mov word [ebp + eax - 0x18], cx
push 2
pop eax
shl eax, 0
push 0x69
pop ecx
mov word [ebp + eax - 0x18], cx
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4]
call fcn.0054f050
pop ecx
pop ecx
test eax, eax
jne 0x402417
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4 + 4]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0040346d
add esp, 0xc
push 2
pop eax
imul eax, eax, 0
push 0x2d
pop ecx
mov word [ebp + eax - 0x18], cx
push 2
pop eax
imul eax, eax, 3
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 8
jae 0x40243c
jmp 0x402441
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0x8c]
mov word [ebp + ecx - 0x18], ax
push 2
pop eax
shl eax, 1
push 0x68
pop ecx
mov word [ebp + eax - 0x18], cx
push 2
pop eax
shl eax, 0
push 0x73
pop ecx
mov word [ebp + eax - 0x18], cx
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4]
call fcn.0054f050
pop ecx
pop ecx
test eax, eax
jne 0x402485
mov byte [ebp - 0x65], 1
push 2
pop eax
shl eax, 0
push 0x72
pop ecx
mov word [ebp + eax - 0x28], cx
push 2
pop eax
imul eax, eax, 3
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 8
jae 0x4024aa
jmp 0x4024af
call fcn.00549e66
xor eax, eax
mov ecx, dword [ebp - 0x90]
mov word [ebp + ecx - 0x28], ax
push 2
pop eax
shl eax, 1
push 0x68
pop ecx
mov word [ebp + eax - 0x28], cx
push 2
pop eax
imul eax, eax, 0
push 0x2d
pop ecx
mov word [ebp + eax - 0x28], cx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax*4]
call fcn.0054f050
pop ecx
pop ecx
test eax, eax
jne 0x4024f3
mov byte [ebp - 0x66], 1
jmp 0x402299
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x40254e
mov ecx, dword [ebp - 0x74]
call fcn.004026f4
push 0
lea ecx, [ebp - 0x19c]
call fcn.00403e62
mov byte [ebp - 4], 3
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x19c]
mov dword [eax + 0x20], ecx
lea ecx, [ebp - 0x19c]
call fcn.004151ec
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x74]
call fcn.00402988
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
call fcn.00403ec6
movzx eax, byte [ebp - 0x66]
test eax, eax
je 0x402560
push 3
mov ecx, dword [ebp - 0x74]
call fcn.004029dd
mov eax, dword [ebp - 0x80]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x402581
mov dword [ebp - 0x94], 1
jmp 0x402588
and dword [ebp - 0x94], 0
movzx eax, byte [ebp - 0x94]
test eax, eax
jne 0x402643
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x4025b8
mov dword [ebp - 0x98], 1
jmp 0x4025bf
and dword [ebp - 0x98], 0
movzx eax, byte [ebp - 0x98]
test eax, eax
jne 0x402643
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x9c]
push eax
push 1
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push 0
call fcn.00404da7
add esp, 0x14
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x402618
call fcn.00405d11
jmp 0x402643
cmp dword [ebp - 0x9c], 0
je 0x40262d
mov dword [ebp - 0xa0], 2
jmp 0x402637
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa4], 0
je 0x40268f
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x402688
push 1
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x84]
call dword [eax + 4]
mov dword [ebp - 0xc8], eax
jmp 0x40268f
and dword [ebp - 0xc8], 0
push dword [ebp - 0xa8]
call fcn.00551757
and dword [ebp - 0xd4], 0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x7c]
sub eax, 0x10
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
call fcn.004037dc
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x80]
sub eax, 0x10
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
call fcn.004037dc
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00549a9a
leave
ret