Function at 0x592a78
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], ebx
mov edi, dword [ebp + 0x14]
mov esi, dword [edx + 0x80]
lea ecx, [eax + eax*2]
shl ecx, 7
mov dword [ebp - 4], ecx
lea ecx, [ecx + edx + 0x200]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 0x400]
test edi, edi
jne 0x592c5a
mov edi, dword [edx + 0x90]
mov dword [ebp - 8], edi
shl eax, 7
mov ebx, dword [esi + eax + 0x80]
add ebx, 4
cmp edi, 1
jle 0x592c51
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0xc], edx
lea edi, [ecx + 4]
mov dword [ebp - 0x24], edi
xor edi, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
lea ecx, [ecx + edi*4]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edx, dword [edi]
lea ecx, [eax + edx + 0x200]
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x20], 0
cmp ebx, dword [edx + eax + 0x200]
mov dword [ebp - 0x18], ecx
je 0x592c1d
mov esi, dword [0x8362c4]
mov eax, dword [0x836270]
cmp eax, 0x7fffffff
je 0x592b40
mov ecx, dword [0x84f980]
mov eax, dword [ebp - 0xc]
add ecx, dword [eax + 0x9c]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 4]
cmp ebx, dword [edx + eax + 0x200]
je 0x592c1d
mov dword [ebp - 8], edx
mov dword [ebp - 0x24], edi
mov eax, dword [0x8362b0]
test eax, eax
je 0x592b72
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x19c]
test edi, edi
jne 0x592c98
jmp 0x592b74
xor edi, edi
mov eax, dword [0x84fa04]
test eax, eax
jne 0x592d02
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 0x592bbb
call fcn.005a3fd0
push 1
call fcn.005a066c
pop ecx
mov esi, dword [0x8362c8]
test edi, edi
je 0x592bc9
mov eax, dword [edi + 0x88]
test eax, eax
jne 0x592c07
mov eax, dword [0x836270]
cmp eax, 0x7fffffff
je 0x592c07
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x84f980]
jg 0x592c07
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
push ebx
push eax
push edx
call fcn.005a161c
add esp, 0xc
mov eax, dword [0x84fa04]
test eax, eax
je 0x592c07
mov eax, dword [0x84fa00]
test eax, eax
jne 0x592cdb
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp ebx, dword [eax + edx + 0x200]
jne 0x592b56
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x592c3d
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edi]
push dword [eax + 0x10c]
push dword [edx + 0x10c]
call ecx
add esp, 8
mov eax, dword [ebp - 0x1c]
add edi, 4
cmp edi, eax
jb 0x592af0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
mov dword [esi + eax + 0x80], ebx
jmp 0x592c8b
mov eax, dword [ebp - 0x10]
push 4
push eax
mov ebx, dword [ecx]
call fcn.005a4010
add esp, 8
mov edx, dword [0x836270]
cmp edx, 0x7fffffff
je 0x592c8b
test al, 1
je 0x592c8b
mov eax, dword [ebp - 0x10]
push eax
push dword [ebx + 0x14]
call fcn.005a14e4
add esp, 8
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x180]
test eax, eax
jne 0x592cb9
mov eax, dword [ebp - 0xc]
push eax
push dword [eax + 0x19c]
call fcn.00598380
add esp, 8
jmp 0x592b74
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
push 0
push ebx
push edx
push dword [ecx + 0x14]
push ecx
call fcn.005977bc
add esp, 0x1c
jmp 0x592b74
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x592cfb
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x592cf3
mov edi, dword [ebp - 0x24]
mov eax, dword [0x84fa00]
test eax, eax
je 0x592c1d
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x592d32
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x592d2a