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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, dword [ebp + 0xc]
mov edx, 1
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [ecx]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov esi, edi
mov dword [ebp - 4], eax
shr eax, 0x10
imul ecx, eax
shr esi, 0x10
test ecx, ecx
je 0x584d1e
mov eax, ecx
movzx ebx, cx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x584d25
mov ecx, dword [ebp + 0xc]
mov ebx, edx
sub ebx, dword [ecx]
mov ecx, dword [ebp + 0xc]
sub ebx, eax
mov eax, dword [ebp - 4]
and edi, 0xffff
mov dword [ebp - 8], ebx
add eax, dword [ecx + 4]
add esi, dword [ecx + 8]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0xc], esi
mov esi, eax
imul esi, edi
test esi, esi
je 0x584d61
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x584d67
mov esi, edx
sub esi, eax
sub esi, edi
mov eax, dword [ebp + 0xc]
mov edi, dword [ecx + 0x10]
xor eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x584d8c
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x584d91
mov ebx, edx
sub ebx, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp - 4]
add eax, ebx
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x584dba
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x584dbf
mov edi, edx
sub edi, dword [ecx + 0x14]
sub edi, eax
add ebx, edi
mov eax, edi
xor eax, dword [ebp + 0xc]
xor esi, ebx
xor ebx, dword [ebp - 4]
xor edi, dword [ebp - 8]
mov dword [ebp - 4], eax
and edi, 0xffff
mov eax, dword [ecx + 0x18]
imul eax, edi
mov dword [ebp + 0xc], eax
test eax, eax
je 0x584dfd
mov edi, dword [ebp + 0xc]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
mov dword [ebp - 8], edi
jmp 0x584e07
mov eax, edx
sub eax, dword [ecx + 0x18]
sub eax, edi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
and esi, 0xffff
add eax, dword [ecx + 0x1c]
add ebx, dword [ecx + 0x20]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0x24]
mov edi, eax
imul edi, esi
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x584e3b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x584e41
mov edi, edx
sub edi, eax
sub edi, esi
mov eax, ebx
mov ebx, dword [ecx + 0x28]
xor eax, dword [ebp - 8]
mov esi, ebx
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x584e68
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x584e6c
mov esi, edx
sub esi, ebx
mov ebx, dword [ecx + 0x2c]
sub esi, eax
mov eax, edi
xor eax, dword [ebp - 4]
add eax, esi
and eax, 0xffff
imul ebx, eax
mov dword [ebp - 0x10], eax
mov eax, ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 0xc]
test eax, eax
je 0x584ead
mov ebx, dword [ebp + 0xc]
shr eax, 0x10
movzx ebx, bx
sub ebx, eax
mov eax, ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 0xc]
shr eax, 0x10
sub dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
jmp 0x584eb5
mov eax, edx
sub eax, dword [ecx + 0x2c]
sub eax, dword [ebp - 0x10]
add esi, eax
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], ebx
xor edi, esi
xor eax, dword [ebp - 8]
mov ebx, dword [ecx + 0x30]
and eax, 0xffff
xor esi, dword [ebp - 4]
imul ebx, eax
test ebx, ebx
je 0x584ee5
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x584eea
mov ebx, edx
sub ebx, dword [ecx + 0x30]
add esi, dword [ecx + 0x38]
sub ebx, eax
mov eax, dword [ebp + 0xc]
and edi, 0xffff
add eax, dword [ecx + 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 8], esi
mov esi, eax
imul esi, edi
mov dword [ebp - 0x10], ebx
test esi, esi
je 0x584f23
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x584f29
mov esi, edx
sub esi, eax
sub esi, edi
mov eax, dword [ebp - 8]
mov edi, dword [ecx + 0x40]
xor eax, ebx
and eax, 0xffff
mov ebx, edi
imul ebx, eax
test ebx, ebx
je 0x584f50
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x584f54
mov ebx, edx
sub ebx, edi
mov edi, dword [ecx + 0x44]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp + 0xc]
add eax, ebx
and eax, 0xffff
imul edi, eax
mov dword [ebp - 4], eax
mov eax, edi
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 8]
test eax, eax
je 0x584f95
mov edi, dword [ebp - 0xc]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 8]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x584f9d
mov eax, edx
sub eax, dword [ecx + 0x44]
sub eax, dword [ebp - 4]
add ebx, eax
xor esi, ebx
xor ebx, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 0x10]
mov edi, dword [ecx + 0x48]
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x584fcd
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x584fd2
mov edi, edx
sub edi, dword [ecx + 0x48]
add ebx, dword [ecx + 0x50]
sub edi, eax
mov eax, dword [ebp + 0xc]
and esi, 0xffff
add eax, dword [ecx + 0x4c]
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x54]
mov edi, eax
imul edi, esi
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x58500b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x585011
mov edi, edx
sub edi, eax
sub edi, esi
mov eax, ebx
mov ebx, dword [ecx + 0x58]
xor eax, dword [ebp - 8]
mov esi, ebx
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585038
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x58503c
mov esi, edx
sub esi, ebx
mov ebx, dword [ecx + 0x5c]
sub esi, eax
mov eax, edi
xor eax, dword [ebp + 0xc]
add eax, esi
and eax, 0xffff
imul ebx, eax
mov dword [ebp - 4], eax
mov eax, ebx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0xc]
test eax, eax
je 0x58507d
mov ebx, dword [ebp - 0x10]
shr eax, 0x10
movzx ebx, bx
sub ebx, eax
mov eax, ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x585085
mov eax, edx
sub eax, dword [ecx + 0x5c]
sub eax, dword [ebp - 4]
add esi, eax
xor edi, esi
xor esi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], ebx
xor eax, dword [ebp - 8]
mov ebx, dword [ecx + 0x60]
and eax, 0xffff
imul ebx, eax
test ebx, ebx
je 0x5850b5
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x5850ba
mov ebx, edx
sub ebx, dword [ecx + 0x60]
add esi, dword [ecx + 0x68]
sub ebx, eax
mov eax, dword [ebp + 0xc]
and edi, 0xffff
add eax, dword [ecx + 0x64]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x6c]
mov dword [ebp - 8], esi
mov esi, eax
imul esi, edi
mov dword [ebp - 0xc], ebx
test esi, esi
je 0x5850f3
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x5850f9
mov esi, edx
sub esi, eax
sub esi, edi
mov eax, dword [ebp - 8]
mov edi, dword [ecx + 0x70]
xor eax, ebx
and eax, 0xffff
mov ebx, edi
imul ebx, eax
test ebx, ebx
je 0x585120
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585124
mov ebx, edx
sub ebx, edi
mov edi, dword [ecx + 0x74]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp + 0xc]
add eax, ebx
and eax, 0xffff
imul edi, eax
mov dword [ebp - 4], eax
mov eax, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
test eax, eax
je 0x585165
mov edi, dword [ebp - 0x10]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 8]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x58516d
mov eax, edx
sub eax, dword [ecx + 0x74]
sub eax, dword [ebp - 4]
add ebx, eax
xor esi, ebx
xor ebx, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0x78]
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x58519d
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x5851a2
mov edi, edx
sub edi, dword [ecx + 0x78]
add ebx, dword [ecx + 0x80]
sub edi, eax
mov eax, dword [ebp + 0xc]
and esi, 0xffff
add eax, dword [ecx + 0x7c]
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x84]
mov edi, eax
imul edi, esi
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x5851e1
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x5851e7
mov edi, edx
sub edi, eax
sub edi, esi
mov eax, ebx
mov ebx, dword [ecx + 0x88]
xor eax, dword [ebp - 8]
mov esi, ebx
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585211
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x585215
mov esi, edx
sub esi, ebx
mov ebx, dword [ecx + 0x8c]
sub esi, eax
mov eax, edi
xor eax, dword [ebp + 0xc]
add eax, esi
and eax, 0xffff
imul ebx, eax
mov dword [ebp - 4], eax
mov eax, ebx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0xc]
test eax, eax
je 0x585259
mov ebx, dword [ebp - 0x10]
shr eax, 0x10
movzx ebx, bx
sub ebx, eax
mov eax, ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x585264
mov eax, edx
sub eax, dword [ecx + 0x8c]
sub eax, dword [ebp - 4]
add esi, eax
xor edi, esi
xor esi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], ebx
xor eax, dword [ebp - 8]
mov ebx, dword [ecx + 0x90]
and eax, 0xffff
imul ebx, eax
test ebx, ebx
je 0x585297
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x58529f
mov ebx, edx
sub ebx, dword [ecx + 0x90]
add esi, dword [ecx + 0x98]
sub ebx, eax
mov eax, dword [ebp + 0xc]
and edi, 0xffff
add eax, dword [ecx + 0x94]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x9c]
mov dword [ebp - 8], esi
mov esi, eax
imul esi, edi
mov dword [ebp - 0xc], ebx
test esi, esi
je 0x5852e1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x5852e7
mov esi, edx
sub esi, eax
sub esi, edi
mov eax, dword [ebp - 8]
mov edi, dword [ecx + 0xa0]
xor eax, ebx
and eax, 0xffff
mov ebx, edi
imul ebx, eax
test ebx, ebx
je 0x585311
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x585315
mov ebx, edx
sub ebx, edi
mov edi, dword [ecx + 0xa4]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp + 0xc]
add eax, ebx
and eax, 0xffff
imul edi, eax
mov dword [ebp - 4], eax
mov eax, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
test eax, eax
je 0x585359
mov edi, dword [ebp - 0x10]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 8]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x585364
mov eax, edx
sub eax, dword [ecx + 0xa4]
sub eax, dword [ebp - 4]
add ebx, eax
xor esi, ebx
xor ebx, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0xa8]
and eax, 0xffff
imul edi, eax
test edi, edi
je 0x585397
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x58539f
mov edi, edx
sub edi, dword [ecx + 0xa8]
add ebx, dword [ecx + 0xb0]
sub edi, eax
mov eax, dword [ebp + 0xc]
and esi, 0xffff
add eax, dword [ecx + 0xac]
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0xb4]
mov edi, eax
imul edi, esi
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x5853e1
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x5853e7
mov edi, edx
sub edi, eax
sub edi, esi
mov eax, ebx
mov ebx, dword [ecx + 0xb8]
xor eax, dword [ebp - 8]
mov esi, ebx
and eax, 0xffff
imul esi, eax
test esi, esi
je 0x585411
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x585415
mov esi, edx
sub esi, ebx
mov ebx, dword [ecx + 0xbc]
sub esi, eax
mov eax, edi
xor eax, dword [ebp + 0xc]
add eax, esi
and eax, 0xffff
imul ebx, eax
mov dword [ebp - 4], eax
mov eax, ebx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0xc]
test eax, eax
je 0x585459
mov ebx, dword [ebp - 0x10]
shr eax, 0x10
movzx ebx, bx
sub ebx, eax
mov eax, ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x585464
mov eax, edx
sub eax, dword [ecx + 0xbc]
sub eax, dword [ebp - 4]
add esi, eax
xor dword [ebp + 0xc], esi
xor edi, esi
mov esi, eax
xor eax, dword [ebp - 8]
xor esi, ebx
and eax, 0xffff
mov ebx, dword [ecx + 0xc0]
mov dword [ebp - 0x10], esi
mov esi, ebx
imul esi, eax
test esi, esi
je 0x58549a
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x58549e
mov esi, edx
sub esi, ebx
mov ebx, dword [ecx + 0xc8]
sub esi, eax
mov eax, dword [ecx + 0xc4]
and edi, 0xffff
add ebx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0xcc]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
imul ecx, edi
mov dword [ebp + 0xc], eax
test ecx, ecx
je 0x5854e1
mov eax, ecx
movzx edx, cx
shr eax, 0x10
sub edx, eax
mov eax, edx
shr eax, 0x10
sub edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x5854e6
sub edx, dword [ebp - 0x10]
sub edx, edi
mov ecx, dword [ebp + 8]
shl esi, 0x10
movzx eax, ax
or eax, esi
shl ebx, 0x10
mov dword [ecx], eax
movzx eax, dx
pop edi
or ebx, eax
pop esi
mov dword [ecx + 4], ebx
pop ebx
mov esp, ebp
pop ebp
ret