Function at 0x592760
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ebx
mov edi, dword [edx + 0x80]
mov ebx, dword [edx + 0x90]
mov dword [ebp - 0x2c], ebx
lea ecx, [eax + eax*2]
shl ecx, 7
mov esi, 1
mov dword [ebp - 8], ecx
lea ecx, [ecx + edx + 0x200]
mov dword [ebp - 0x38], ecx
mov ecx, dword [edi + 0x400]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax*4 + 0x8504f0]
mov dword [ebp - 0x34], ecx
shl esi, cl
mov dword [ebp - 0x20], esi
mov esi, dword [ebp + 0x14]
shl esi, cl
add esi, 1
cmp esi, ebx
jae 0x592a70
mov dword [ebp - 0x48], edi
mov ebx, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xc], edx
shl ebx, 7
mov ebx, dword [edi + ebx + 0x80]
add ebx, 4
mov ecx, 1
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov edx, dword [edx + esi*4]
lea ecx, [eax + edx + 0x200]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], 0
cmp ebx, dword [edx + eax + 0x200]
je 0x592916
mov edi, dword [0x8362c4]
mov eax, dword [0x836270]
cmp eax, 0x7fffffff
je 0x592837
mov ecx, dword [0x84f980]
mov eax, dword [ebp - 0xc]
add ecx, dword [eax + 0x9c]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 8]
cmp ebx, dword [edx + eax + 0x200]
je 0x592916
mov dword [ebp - 4], edx
mov dword [ebp - 0x30], esi
mov eax, dword [0x8362b0]
test eax, eax
je 0x592869
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0x19c]
test esi, esi
jne 0x5929cc
jmp 0x59286b
xor esi, esi
mov eax, dword [0x84fa04]
test eax, eax
jne 0x592a36
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 edi, 0xfffffffe
jne 0x5928b2
call fcn.005a3fd0
push 1
call fcn.005a066c
pop ecx
mov edi, dword [0x8362c8]
test esi, esi
je 0x5928c0
mov eax, dword [esi + 0x88]
test eax, eax
jne 0x5928fe
mov eax, dword [0x836270]
cmp eax, 0x7fffffff
je 0x5928fe
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x84f980]
jg 0x5928fe
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 0x5928fe
mov eax, dword [0x84fa00]
test eax, eax
jne 0x592a0f
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + edx + 0x200]
jne 0x59284d
mov edx, eax
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x592934
push dword [edx + 0x10c]
mov eax, dword [ebp - 0xc]
push dword [eax + 0x10c]
mov edx, dword [ebp + 0x18]
call edx
add esp, 8
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x24], eax
add esi, 1
cmp eax, edx
ja 0x592952
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x5927e3
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + 0x14]
test edx, edx
jne 0x592980
mov edx, dword [ebp - 0x2c]
cmp edx, 1
jbe 0x592973
shl eax, 7
mov dword [edi + eax + 0x80], ebx
jmp 0x5929bf
shl eax, 7
add dword [edi + eax + 0x80], 4
jmp 0x5929bf
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
lea edx, [ebx - 1]
sar edx, cl
push 4
mov ebx, dword [eax + edx*4]
push esi
call fcn.005a4010
add esp, 8
mov edx, dword [0x836270]
cmp edx, 0x7fffffff
je 0x5929bf
test al, 1
je 0x5929bf
mov eax, esi
push eax
push dword [ebx + 0x14]
call fcn.005a14e4
add esp, 8
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x44]
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x180]
test eax, eax
jne 0x5929ed
mov eax, dword [ebp - 0xc]
push eax
push dword [eax + 0x19c]
call fcn.00598380
add esp, 8
jmp 0x59286b
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x28]
push eax
push 0
push ebx
push edx
push dword [ecx + 0x14]
push ecx
call fcn.005977bc
add esp, 0x1c
jmp 0x59286b
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x592a2f
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x592a27
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x30]
mov eax, dword [0x84fa00]
test eax, eax
je 0x592916
push 0xffffffffffffffff
push 0x84fc00
call fcn.00596f48
add esp, 8
mov eax, dword [0x85059c]
test eax, eax
jne 0x592a69
push 3
call fcn.00744edc
pop ecx
call fcn.00596ab8
jmp 0x592a61
xor ebx, ebx
jmp 0x592958