Function at 0x5923a8
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], ebx
mov ebx, dword [edx + 0x80]
mov edi, dword [edx + 0x90]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], ebx
lea ecx, [eax + eax*2]
shl ecx, 7
mov dword [ebp - 8], ecx
lea ecx, [ecx + edx + 0x200]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebx + 0x400]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax*4 + 0x8504f0]
mov dword [ebp - 0x44], ecx
mov eax, 1
shl eax, cl
mov dword [ebp - 0x28], eax
cmp edi, 1
jbe 0x592756
mov dword [ebp - 0x14], edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0xc], edx
mov ebx, 2
mov dword [ebp - 0x50], ebx
xor esi, esi
mov eax, 1
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x54]
shl ecx, 7
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 1]
mov dword [ebp - 0x40], ecx
mov ebx, dword [ebp - 0x40]
mov ecx, esi
mov edx, edi
sar edx, cl
test ebx, edx
jne 0x5926f9
mov ecx, esi
mov edx, 1
shl edx, cl
lea ebx, [edi + edx]
mov ecx, dword [ebp - 0x28]
cmp ecx, 1
jbe 0x592603
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x48], eax
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x14]
cmp ebx, eax
jae 0x5925f7
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + ebx*4]
lea ecx, [edx + eax + 0x200]
cmp edi, 2
mov dword [ebp - 0x1c], ecx
jne 0x59249f
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov edi, dword [edx + ecx + 0x80]
add edi, 4
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x30], 0
cmp edi, dword [eax + esi + 0x200]
je 0x5925c2
mov esi, dword [0x8362c4]
mov edx, dword [0x836270]
cmp edx, 0x7fffffff
je 0x5924e5
mov ecx, dword [0x84f980]
mov edx, dword [ebp - 0xc]
add ecx, dword [edx + 0x9c]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
cmp edi, dword [eax + edx + 0x200]
je 0x5925c2
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], ebx
mov eax, dword [0x8362b0]
test eax, eax
je 0x592517
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x19c]
test ebx, ebx
jne 0x592654
jmp 0x592519
xor ebx, ebx
mov eax, dword [0x84fa04]
test eax, eax
jne 0x5926be
call fcn.005a3fd0
mov edx, dword [0x84f900]
xor eax, eax
cmp edx, dword [0x85052c]
setg al
push eax
call fcn.005a066c
pop ecx
call fcn.005a3fd0
add esi, 0xfffffffe
jne 0x592560
call fcn.005a3fd0
push 1
call fcn.005a066c
pop ecx
mov esi, dword [0x8362c8]
test ebx, ebx
je 0x59256e
mov eax, dword [ebx + 0x88]
test eax, eax
jne 0x5925ac
mov eax, dword [0x836270]
cmp eax, 0x7fffffff
je 0x5925ac
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x84f980]
jg 0x5925ac
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
push edi
push eax
push edx
call fcn.005a161c
add esp, 0xc
mov eax, dword [0x84fa04]
test eax, eax
je 0x5925ac
mov eax, dword [0x84fa00]
test eax, eax
jne 0x592697
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, dword [eax + edx + 0x200]
jne 0x5924fb
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x5925e0
push dword [eax + 0x10c]
mov eax, dword [ebp - 0xc]
push dword [eax + 0x10c]
mov edx, dword [ebp + 0x18]
call edx
add esp, 8
add ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
add eax, 1
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
cmp eax, edx
jb 0x59246c
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
add esi, ecx
shl eax, cl
cmp eax, edx
jb 0x59242f
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x592647
cmp ebx, 2
jne 0x592637
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
shl edx, 7
add dword [eax + edx + 0x80], 4
jmp 0x592647
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
shl edx, 7
mov dword [eax + edx + 0x80], ebx
mov ebx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x180]
test eax, eax
jne 0x592675
mov eax, dword [ebp - 0xc]
push eax
push dword [eax + 0x19c]
call fcn.00598380
add esp, 8
jmp 0x592519
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x30]
push eax
push 0
push edi
push edx
push dword [ecx + 0x14]
push ecx
call fcn.005977bc
add esp, 0x1c
jmp 0x592519
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x5926b7
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x5926af
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x34]
mov edx, dword [0x84fa00]
test edx, edx
je 0x5925c2
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x5926f2
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x5926ea
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x58]
add ecx, esi
push 4
push edi
mov edx, 1
shl edx, cl
add edx, 0xffffffff
not edx
and edx, dword [ebp + 0x14]
mov esi, dword [eax + edx*4]
mov dword [ebp - 0x3c], esi
call fcn.005a4010
add esp, 8
mov edx, dword [0x836270]
cmp edx, 0x7fffffff
je 0x592618
test al, 1
je 0x592618
mov eax, edi
mov edx, esi
push eax
push dword [edx + 0x14]
call fcn.005a14e4
add esp, 8
jmp 0x592618
mov ebx, 2
jmp 0x592618