Function at 0x583c70
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 0x583cae
mov eax, ecx
movzx ebx, cx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x583cb5
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 0x583cf1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x583cf7
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 0x583d1c
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x583d21
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 0x583d4a
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x583d4f
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 0x583d8d
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 0x583d97
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 0x583dcb
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x583dd1
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 0x583df8
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x583dfc
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 0x583e3d
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 0x583e45
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 0x583e75
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x583e7a
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 0x583eb3
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x583eb9
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 0x583ee0
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x583ee4
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 0x583f25
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 0x583f2d
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 0x583f5d
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x583f62
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 0x583f9b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x583fa1
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 0x583fc8
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x583fcc
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 0x58400d
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 0x584015
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 0x584045
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x58404a
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 0x584083
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x584089
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 0x5840b0
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x5840b4
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 0x5840f5
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 0x5840fd
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 0x58412d
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x584132
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 0x584171
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x584177
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 0x5841a1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x5841a5
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 0x5841e9
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 0x5841f4
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 0x584227
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x58422f
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 0x584271
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x584277
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 0x5842a1
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x5842a5
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 0x5842e9
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 0x5842f4
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 0x584327
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x58432f
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 0x584371
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x584377
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 0x5843a1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x5843a5
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 0x5843e9
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 0x5843f4
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 0x58442a
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x58442e
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 0x584471
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 0x584476
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