Function at 0x4200f2
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
mov dword [ebp - 0x10], esi
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 4], eax
add eax, 2
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x18]
call fcn.0042bc8a
mov ecx, dword [ecx + 0x10]
mov edi, eax
mov edx, edi
mov dword [ebp - 0x14], edi
add edx, edx
push dword [ecx + edx*8]
mov ecx, ebx
push 0
push dword [esi]
push 0x1b
pop edx
call fcn.0041d74f
add esp, 0xc
test eax, eax
jne 0x42037c
mov eax, dword [ebp - 8]
xor ecx, ecx
inc ecx
mov edx, edi
push dword [eax]
push ecx
push dword [eax + 0x1c]
mov ecx, ebx
call fcn.0041d7f8
add esp, 0xc
mov ecx, ebx
call fcn.0042df3f
mov edi, eax
test edi, edi
je 0x42037c
cmp dword [ebp + 8], 0
mov eax, dword [ebp + 8]
jge 0x42017b
mov eax, dword [esi + 0x2c]
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, ebx
call fcn.00421b7b
mov edx, dword [ebx + 0x28]
push 0xfffffffffffffff7
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], edx
lea ecx, [edx + 1]
mov dword [ebx + 0x28], ecx
mov ecx, eax
call fcn.0042d3a1
push eax
movzx eax, word [esi + 0x32]
mov ecx, edi
push eax
push 0
push edx
push 0x6d
pop edx
call fcn.00409258
mov eax, dword [ebp - 8]
add esp, 0x14
mov esi, dword [ebp - 4]
mov ecx, ebx
mov edx, esi
push 0x68
push eax
push dword [ebp - 0x14]
call fcn.004261b5
add esp, 0xc
mov ecx, edi
push 0
push esi
push 0x25
pop edx
call fcn.00409192
mov ecx, ebx
mov esi, eax
call fcn.0041b3fb
xor edx, edx
mov dword [ebp - 8], eax
push edx
push edx
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 4]
push edx
mov edx, dword [ebp - 0x10]
push eax
push ecx
mov ecx, ebx
call fcn.00422f52
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 0xc]
push 0x7d
pop edx
call fcn.00409192
mov edx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.0042307b
lea eax, [esi + 1]
mov ecx, edi
push eax
push dword [ebp - 4]
push 7
pop edx
call fcn.00409192
add esp, 0x30
mov edx, esi
mov ecx, edi
call fcn.00409643
mov esi, dword [ebp + 8]
test esi, esi
jns 0x420250
push dword [ebp - 0x14]
mov edx, 0x83
mov ecx, edi
push dword [ebp - 0x18]
call fcn.00409192
pop ecx
pop ecx
mov eax, dword [ebp - 4]
mov ecx, edi
push 0xfffffffffffffff7
push dword [ebp - 0x20]
inc eax
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push 0x69
pop edx
call fcn.00409258
add esp, 0x14
xor edx, edx
test esi, esi
mov ecx, edi
push 0x10
pop eax
cmovns edx, eax
xor eax, eax
inc eax
or dx, ax
call fcn.0040962b
push 0
push dword [ebp - 0xc]
push 0x23
pop edx
call fcn.00409192
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, edi
cmp byte [eax + 0x36], 0
je 0x4202e5
call fcn.0040950e
lea esi, [eax + 3]
mov edx, esi
call fcn.004091a7
mov ecx, edi
call fcn.0040950e
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 0x32]
push ecx
push dword [ebp - 8]
mov ecx, edi
push esi
push dword [ebp - 0xc]
push 0x78
pop edx
call fcn.0040930f
push dword [ebp - 0x10]
mov ecx, ebx
push 2
pop edx
call fcn.004217ff
add esp, 0x14
jmp 0x4202ed
call fcn.0040950e
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 4]
mov ecx, edi
inc esi
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0x79
pop edx
call fcn.0040910e
add esp, 0xc
mov ecx, edi
push 0xffffffffffffffff
push 0
push esi
push 0x21
pop edx
call fcn.0040910e
add esp, 0xc
mov ecx, edi
push dword [ebp - 8]
push esi
push 0x7e
pop edx
call fcn.00409192
push 0x10
pop edx
mov ecx, edi
call fcn.0040962b
mov edx, dword [ebp - 8]
mov ecx, ebx
call fcn.0041b41a
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
mov ecx, edi
push ebx
push 3
pop edx
call fcn.00409192
mov edx, dword [ebp - 0x20]
mov ecx, edi
call fcn.00409643
push dword [ebp - 4]
mov ecx, edi
push 0x70
pop edx
call fcn.0040917e
add esp, 0x14
mov ecx, edi
push esi
push 0x70
pop edx
call fcn.0040917e
pop ecx
push ebx
push 0x70
pop edx
mov ecx, edi
call fcn.0040917e
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret