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

Disassembly:
mov eax, 8
call fcn.005ca540
mov eax, dword [esp + 0xc]
mov edx, 1
mov ecx, dword [esp + 0x10]
push ebx
push ebp
push esi
mov esi, dword [eax]
mov ecx, dword [ecx]
push edi
mov edi, dword [eax + 4]
mov eax, esi
shr eax, 0x10
mov ebx, edi
imul ecx, eax
shr ebx, 0x10
test ecx, ecx
je 0x5859d4
mov eax, ecx
movzx ebp, cx
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
jmp 0x5859dc
mov ecx, dword [esp + 0x20]
mov ebp, edx
sub ebp, dword [ecx]
mov ecx, dword [esp + 0x20]
sub ebp, eax
and edi, 0xffff
add esi, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
add ebx, dword [ecx + 8]
mov dword [esp + 0x20], esi
mov esi, eax
imul esi, edi
mov dword [esp + 0x10], ebx
test esi, esi
je 0x585a15
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x585a1b
mov esi, edx
sub esi, eax
sub esi, edi
mov edi, dword [ecx + 0x10]
mov eax, ebx
xor eax, ebp
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585a3f
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585a44
mov ebx, edx
sub ebx, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
sub ebx, eax
mov eax, esi
xor eax, dword [esp + 0x20]
add eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585a6e
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x585a73
mov edi, edx
sub edi, dword [ecx + 0x14]
sub edi, eax
add ebx, edi
mov eax, edi
xor eax, dword [esp + 0x10]
xor edi, ebp
mov ebp, dword [ecx + 0x18]
and edi, 0xffff
imul ebp, edi
xor esi, ebx
xor ebx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x585ab0
mov eax, ebp
movzx ebp, bp
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
sub ebp, eax
mov eax, dword [esp + 0x20]
jmp 0x585ab7
mov ebp, edx
sub ebp, dword [ecx + 0x18]
sub ebp, edi
add eax, dword [ecx + 0x1c]
and esi, 0xffff
add ebx, dword [ecx + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x24]
mov edi, eax
imul edi, esi
mov dword [esp + 0x10], ebp
test edi, edi
je 0x585aea
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x585af0
mov edi, edx
sub edi, eax
sub edi, esi
mov esi, dword [ecx + 0x28]
mov eax, ebx
xor eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585b14
mov eax, esi
movzx ebp, si
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
jmp 0x585b19
mov ebp, edx
sub ebp, dword [ecx + 0x28]
mov esi, dword [ecx + 0x2c]
sub ebp, eax
mov eax, edi
xor eax, dword [esp + 0x20]
add eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585b43
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x585b48
mov esi, edx
sub esi, dword [ecx + 0x2c]
sub esi, eax
add ebp, esi
mov eax, esi
xor esi, dword [esp + 0x10]
xor eax, ebx
mov ebx, dword [ecx + 0x30]
and esi, 0xffff
imul ebx, esi
xor edi, ebp
xor ebp, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x585b85
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
sub ebx, eax
mov eax, dword [esp + 0x20]
jmp 0x585b8c
mov ebx, edx
sub ebx, dword [ecx + 0x30]
sub ebx, esi
add eax, dword [ecx + 0x34]
and edi, 0xffff
add ebp, dword [ecx + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x3c]
mov esi, eax
imul esi, edi
mov dword [esp + 0x10], ebx
test esi, esi
je 0x585bbf
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x585bc5
mov esi, edx
sub esi, eax
sub esi, edi
mov edi, dword [ecx + 0x40]
mov eax, ebp
xor eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585be9
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585bee
mov ebx, edx
sub ebx, dword [ecx + 0x40]
mov edi, dword [ecx + 0x44]
sub ebx, eax
mov eax, esi
xor eax, dword [esp + 0x20]
add eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585c18
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x585c1d
mov edi, edx
sub edi, dword [ecx + 0x44]
sub edi, eax
add ebx, edi
mov eax, edi
xor edi, dword [esp + 0x10]
xor eax, ebp
mov ebp, dword [ecx + 0x48]
and edi, 0xffff
imul ebp, edi
xor esi, ebx
xor ebx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x585c5a
mov eax, ebp
movzx ebp, bp
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
sub ebp, eax
mov eax, dword [esp + 0x20]
jmp 0x585c61
mov ebp, edx
sub ebp, dword [ecx + 0x48]
sub ebp, edi
add eax, dword [ecx + 0x4c]
and esi, 0xffff
add ebx, dword [ecx + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x54]
mov edi, eax
imul edi, esi
mov dword [esp + 0x10], ebp
test edi, edi
je 0x585c94
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x585c9a
mov edi, edx
sub edi, eax
sub edi, esi
mov esi, dword [ecx + 0x58]
mov eax, ebx
xor eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585cbe
mov eax, esi
movzx ebp, si
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
jmp 0x585cc3
mov ebp, edx
sub ebp, dword [ecx + 0x58]
mov esi, dword [ecx + 0x5c]
sub ebp, eax
mov eax, edi
xor eax, dword [esp + 0x20]
add eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585ced
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x585cf2
mov esi, edx
sub esi, dword [ecx + 0x5c]
sub esi, eax
add ebp, esi
mov eax, esi
xor esi, dword [esp + 0x10]
xor eax, ebx
mov ebx, dword [ecx + 0x60]
and esi, 0xffff
imul ebx, esi
xor edi, ebp
xor ebp, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x585d2f
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
sub ebx, eax
mov eax, dword [esp + 0x20]
jmp 0x585d36
mov ebx, edx
sub ebx, dword [ecx + 0x60]
sub ebx, esi
add eax, dword [ecx + 0x64]
and edi, 0xffff
add ebp, dword [ecx + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x6c]
mov esi, eax
imul esi, edi
mov dword [esp + 0x10], ebx
test esi, esi
je 0x585d69
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x585d6f
mov esi, edx
sub esi, eax
sub esi, edi
mov edi, dword [ecx + 0x70]
mov eax, ebp
xor eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585d93
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585d98
mov ebx, edx
sub ebx, dword [ecx + 0x70]
mov edi, dword [ecx + 0x74]
sub ebx, eax
mov eax, esi
xor eax, dword [esp + 0x20]
add eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585dc2
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x585dc7
mov edi, edx
sub edi, dword [ecx + 0x74]
sub edi, eax
add ebx, edi
mov eax, edi
xor edi, dword [esp + 0x10]
xor eax, ebp
mov ebp, dword [ecx + 0x78]
and edi, 0xffff
imul ebp, edi
xor esi, ebx
xor ebx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x585e04
mov eax, ebp
movzx ebp, bp
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
sub ebp, eax
mov eax, dword [esp + 0x20]
jmp 0x585e0b
mov ebp, edx
sub ebp, dword [ecx + 0x78]
sub ebp, edi
add eax, dword [ecx + 0x7c]
and esi, 0xffff
add ebx, dword [ecx + 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x84]
mov edi, eax
imul edi, esi
mov dword [esp + 0x10], ebp
test edi, edi
je 0x585e44
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x585e4a
mov edi, edx
sub edi, eax
sub edi, esi
mov esi, dword [ecx + 0x88]
mov eax, ebx
xor eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585e71
mov eax, esi
movzx ebp, si
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
jmp 0x585e79
mov ebp, edx
sub ebp, dword [ecx + 0x88]
mov esi, dword [ecx + 0x8c]
sub ebp, eax
mov eax, edi
xor eax, dword [esp + 0x20]
add eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585ea6
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x585eae
mov esi, edx
sub esi, dword [ecx + 0x8c]
sub esi, eax
add ebp, esi
mov eax, esi
xor esi, dword [esp + 0x10]
xor eax, ebx
mov ebx, dword [ecx + 0x90]
and esi, 0xffff
imul ebx, esi
xor edi, ebp
xor ebp, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x585eee
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
sub ebx, eax
mov eax, dword [esp + 0x20]
jmp 0x585ef8
mov ebx, edx
sub ebx, dword [ecx + 0x90]
sub ebx, esi
add eax, dword [ecx + 0x94]
and edi, 0xffff
add ebp, dword [ecx + 0x98]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x9c]
mov esi, eax
imul esi, edi
mov dword [esp + 0x10], ebx
test esi, esi
je 0x585f34
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x585f3a
mov esi, edx
sub esi, eax
sub esi, edi
mov edi, dword [ecx + 0xa0]
mov eax, ebp
xor eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585f61
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585f69
mov ebx, edx
sub ebx, dword [ecx + 0xa0]
mov edi, dword [ecx + 0xa4]
sub ebx, eax
mov eax, esi
xor eax, dword [esp + 0x20]
add eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585f96
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x585f9e
mov edi, edx
sub edi, dword [ecx + 0xa4]
sub edi, eax
add ebx, edi
mov eax, edi
xor edi, dword [esp + 0x10]
xor eax, ebp
mov ebp, dword [ecx + 0xa8]
and edi, 0xffff
imul ebp, edi
xor esi, ebx
xor ebx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x585fde
mov eax, ebp
movzx ebp, bp
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
sub ebp, eax
mov eax, dword [esp + 0x20]
jmp 0x585fe8
mov ebp, edx
sub ebp, dword [ecx + 0xa8]
sub ebp, edi
add eax, dword [ecx + 0xac]
and esi, 0xffff
add ebx, dword [ecx + 0xb0]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0xb4]
mov edi, eax
imul edi, esi
mov dword [esp + 0x10], ebp
test edi, edi
je 0x586024
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x58602a
mov edi, edx
sub edi, eax
sub edi, esi
mov esi, dword [ecx + 0xb8]
mov eax, ebx
xor eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x586051
mov eax, esi
movzx ebp, si
shr eax, 0x10
sub ebp, eax
mov eax, ebp
shr eax, 0x10
jmp 0x586059
mov ebp, edx
sub ebp, dword [ecx + 0xb8]
mov esi, dword [ecx + 0xbc]
sub ebp, eax
mov eax, edi
xor eax, dword [esp + 0x20]
add eax, ebp
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x586086
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x58608e
mov esi, edx
sub esi, dword [ecx + 0xbc]
sub esi, eax
mov eax, esi
add ebp, esi
xor esi, dword [esp + 0x10]
xor eax, ebx
mov dword [esp + 0x14], eax
and esi, 0xffff
mov eax, dword [ecx + 0xc0]
xor edi, ebp
xor ebp, dword [esp + 0x20]
mov ebx, eax
imul ebx, esi
mov dword [esp + 0x20], esi
test ebx, ebx
je 0x5860d0
mov eax, ebx
movzx esi, bx
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x5860d8
mov esi, edx
sub esi, eax
sub esi, dword [esp + 0x20]
mov eax, dword [ecx + 0xc4]
and edi, 0xffff
mov ebx, dword [ecx + 0xc8]
add eax, ebp
mov ebp, dword [ecx + 0xcc]
mov ecx, ebp
add ebx, dword [esp + 0x14]
imul ecx, edi
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x58611a
mov eax, ecx
movzx edx, cx
shr eax, 0x10
sub edx, eax
mov eax, edx
shr eax, 0x10
sub edx, eax
mov eax, dword [esp + 0x20]
jmp 0x58611e
sub edx, ebp
sub edx, edi
mov ecx, dword [esp + 0x1c]
shl esi, 0x10
movzx eax, ax
or eax, esi
shl ebx, 0x10
pop edi
mov dword [ecx], eax
movzx eax, dx
pop esi
or ebx, eax
pop ebp
mov dword [ecx + 4], ebx
pop ebx
add esp, 8
ret