Function at 0x584719
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
xor eax, eax
mov edi, 0x80000000
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x18], edi
call fcn.00587cb7
push eax
push dword [esi + 0x1c4]
push 0x200000c8
push 1
call fcn.0057835f
add esp, 0x10
lea ecx, [ebp - 0x24]
lea eax, [esi + 0xa8]
push ecx
push eax
call fcn.00582cbd
mov ebx, eax
test ebx, ebx
jns 0x584784
push 0x4423d4
jmp 0x584cd7
mov eax, dword [esi + 0xb8]
push dword [esi + 0x1c4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x38]
push eax
push 1
lea eax, [esi + 0xa8]
push eax
call fcn.00582d95
mov ebx, eax
test ebx, ebx
jns 0x5847c5
push ebx
push 0x157
push 0x441888
call 0x59d4f3
push 0x4423bc
jmp 0x584cd7
lea eax, [esi + 0x1b8]
push eax
lea ebx, [esi + 0x208]
push ebx
call fcn.00589fb9
mov eax, dword [esi + 0xf4]
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x20c], eax
lea eax, [esi + 0x78]
push eax
push ecx
mov dword [ebx], ecx
call fcn.005895e5
mov ebx, eax
test ebx, ebx
jns 0x584803
push 0x4423a2
jmp 0x584cd7
xor eax, eax
cmp dword [esi + 0xf0], eax
jne 0x584813
cmp dword [esi + 0x30], 4
jne 0x584816
xor eax, eax
inc eax
mov dword [esi + 0x214], eax
lea eax, [esi + 0x1f0]
push eax
lea eax, [esi + 0x1c]
push eax
push dword [ebp + 0xc]
lea ecx, [esi + 0xe8]
push ecx
call fcn.00589973
mov ebx, eax
test ebx, ebx
jns 0x584846
push 0x442384
jmp 0x584cd7
lea eax, [esi + 0x208]
push eax
push esi
call fcn.00593c31
mov ebx, eax
test ebx, ebx
jns 0x584863
push 0x442350
jmp 0x584cd7
cmp dword [ebp + 0xc], 2
jne 0x5848a0
lea eax, [ebp - 0x10]
push eax
lea eax, [esi + 0x1b0]
push eax
lea eax, [esi + 0x78]
push eax
push dword [esi + 0x4c]
lea eax, [esi + 0x208]
push dword [esi + 0x48]
push dword [esi + 0x12c]
push eax
call fcn.0058ab55
mov ebx, eax
test ebx, ebx
jns 0x5848b3
push 0x442326
jmp 0x584cd7
cmp dword [esi + 0xe8], 0
je 0x5848b3
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x244]
and dword [ebp + 8], 0
cmp dword [esi + 0x1c4], 0
mov dword [ebp - 0x28], eax
jbe 0x584afc
cmp dword [ebp + 0xc], 3
jne 0x5848df
mov edi, dword [esi + 0x1c4]
sub edi, dword [ebp + 8]
dec edi
jmp 0x5848e2
mov edi, dword [ebp + 8]
imul edi, edi, 0xc8
add edi, dword [esi + 0x1c0]
cmp dword [ebp + 0xc], 3
jne 0x5848f9
mov eax, dword [edi + 0x3c]
jmp 0x5848fc
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x58493e
cmp dword [ebp - 0x1c], 0
je 0x58491f
lea eax, [esi + 0x208]
push eax
call fcn.0058a43f
mov ebx, eax
test ebx, ebx
js 0x584b5c
push dword [ebp - 0x14]
lea eax, [esi + 0x208]
push eax
call fcn.00589905
mov ebx, eax
test ebx, ebx
js 0x584c13
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x4c]
push eax
push dword [esi + 0x38]
lea eax, [esi + 0x78]
push dword [edi + 0xc]
push eax
push dword [ebp + 0xc]
xor eax, eax
cmp dword [edi + 0x18], eax
sete al
push eax
push dword [edi + 0x40]
push dword [edi + 0x80]
call fcn.0058a09f
mov ebx, eax
test ebx, ebx
js 0x584b66
mov eax, dword [edi + 0x4c]
lea ecx, [edi + 0x50]
push ecx
push dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 0xb8]
mov edx, dword [eax]
push eax
call dword [edx + 0x40]
push eax
push 1
lea eax, [esi + 0xa8]
push eax
call fcn.00582d95
mov ebx, eax
test ebx, ebx
js 0x584b70
cmp dword [edi + 0x50], 0
je 0x584a55
cmp dword [ebp + 0xc], 2
jne 0x5849d4
push dword [ebp - 0x10]
lea eax, [esi + 0x208]
push edi
push eax
call fcn.0058acf5
mov ebx, eax
test ebx, ebx
jns 0x584aa3
push 0x442306
jmp 0x584cd7
cmp dword [edi + 0x18], 0
je 0x5849ec
cmp dword [ebp - 8], 0x80000000
jne 0x5849ec
mov eax, dword [esi + 0x24c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x128]
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1f0]
push eax
push edi
lea eax, [esi + 0x208]
push eax
lea eax, [esi + 0xa8]
push eax
push dword [esi + 0x20]
push dword [esi + 0xe8]
call fcn.0058b0b5
mov ebx, eax
test ebx, ebx
js 0x584b8a
cmp dword [edi + 0x18], 0
je 0x584aa3
cmp dword [ebp - 4], 0x80000000
jne 0x584a41
mov eax, dword [esi + 0x244]
dec eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x244]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 0x18], eax
jmp 0x584aa3
cmp dword [ebp + 0xc], 2
je 0x584aa3
push dword [esi + 0x128]
lea eax, [esi + 0x208]
push eax
push edi
push dword [esi + 0xe8]
push 0
call fcn.00593cc7
mov ebx, eax
test ebx, ebx
js 0x584b94
push dword [esi + 0x128]
lea eax, [esi + 0x208]
push eax
push edi
push dword [esi + 0xe8]
call fcn.00593f03
mov ebx, eax
test ebx, ebx
js 0x584b9d
xor eax, eax
cmp dword [edi + 0x5c], eax
jne 0x584ab4
cmp dword [edi + 0x60], eax
jne 0x584ab4
cmp dword [edi + 0x64], eax
je 0x584aca
lea eax, [esi + 0x208]
push eax
call fcn.0058a43f
mov ebx, eax
test ebx, ebx
js 0x584bb2
push dword [edi + 0x60]
mov eax, dword [esi + 0xb8]
push dword [edi + 0x5c]
mov ecx, dword [eax]
push dword [edi + 0x50]
push dword [edi + 0x40]
push ebx
push dword [edi]
push eax
call dword [ecx + 0x4c]
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x1c4]
jb 0x5848cd
mov edi, 0x80000000
cmp dword [esi + 0xf0], 0
jne 0x584bbc
cmp dword [ebp + 0xc], 4
je 0x584b1f
cmp dword [ebp + 0xc], 5
je 0x584b1f
cmp dword [ebp + 0xc], 6
jne 0x584bbc
cmp dword [ebp - 4], edi
jne 0x584b36
mov eax, dword [esi + 0x244]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 8], eax
push dword [ebp - 8]
lea eax, [esi + 0x208]
push dword [ebp - 4]
push eax
call fcn.00589809
mov ebx, eax
test ebx, ebx
jns 0x584bfb
push 0x4422dc
jmp 0x584cd7
push 0x4422b0
jmp 0x584cd7
push 0x44228a
jmp 0x584cd7
push ebx
push 0x19e
push 0x441888
call 0x59d4f3
push 0x44226a
jmp 0x584cd7
push 0x44224a
jmp 0x584cd7
push dword [edi]
push 0x44220c
jmp 0x584ba4
push dword [edi]
push 0x4421d0
push ebx
call 0x59d4df
add esp, 0xc
jmp 0x584cfd
push 0x4421aa
jmp 0x584cd7
cmp dword [ebp + 0xc], 3
jne 0x584bfb
cmp dword [ebp - 0xc], edi
jne 0x584bd9
mov eax, dword [esi + 0x244]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x24c]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [esi + 0x208]
push dword [ebp - 0xc]
push eax
call fcn.00589887
mov ebx, eax
test ebx, ebx
jns 0x584bfb
push 0x44217c
jmp 0x584cd7
cmp dword [ebp - 0x1c], 0
je 0x584c1d
lea eax, [esi + 0x208]
push eax
call fcn.0058a43f
mov ebx, eax
test ebx, ebx
jns 0x584c1d
push 0x442154
jmp 0x584cd7
lea edi, [esi + 0x208]
push edi
call fcn.0058a7f5
mov ebx, eax
test ebx, ebx
jns 0x584c39
push 0x442124
jmp 0x584cd7
and dword [ebp + 8], 0
cmp dword [esi + 0x1c4], 0
jbe 0x584c85
cmp dword [ebp + 0xc], 3
jne 0x584c58
mov eax, dword [esi + 0x1c4]
sub eax, dword [ebp + 8]
dec eax
jmp 0x584c5b
mov eax, dword [ebp + 8]
imul eax, eax, 0xc8
add eax, dword [esi + 0x1c0]
push eax
push edi
push dword [ebp + 0xc]
call fcn.00589617
mov ebx, eax
test ebx, ebx
js 0x584ce1
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x1c4]
jb 0x584c46
cmp dword [ebp + 0xc], 2
je 0x584ce8
push dword [ebp - 0x28]
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x128]
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1f0]
push eax
push edi
push dword [esi + 0x124]
lea eax, [esi + 0x198]
push dword [esi + 0x120]
push eax
lea eax, [esi + 0xa8]
push eax
push dword [ebp + 0xc]
push dword [esi + 0xe8]
call fcn.0058a17b
mov ebx, eax
test ebx, ebx
jns 0x584ce8
push 0x442104
push ebx
call 0x59d4df
pop ecx
pop ecx
jmp 0x584cfd
push 0x4420e6
jmp 0x584cd7
push dword [ebp + 0xc]
lea eax, [esi + 0x1b8]
lea edi, [esi + 0x198]
push eax
call fcn.00583ff7
cmp dword [ebp - 0x24], 0
je 0x584d0f
lea eax, [esi + 0xa8]
push eax
call fcn.0058298b
mov esi, dword [esi + 0xb8]
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x50]
push ebx
push 0x2000012b
push 1
call fcn.0057835f
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x584d3a
push dword [ebp - 0x10]
call fcn.0059aafd
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 8