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

Disassembly:
mov eax, 4
call fcn.00559730
mov eax, dword [esp + 8]
push ebx
push ebp
mov ebp, dword [eax]
push esi
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x18]
push edi
mov edi, dword [eax]
mov ecx, ebp
shr ecx, 0x10
mov edx, edi
imul edx, ecx
mov ebx, esi
shr ebx, 0x10
test edx, edx
je 0x512d01
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x512d08
mov edx, 1
sub edx, edi
add ebp, dword [eax + 4]
add ebx, dword [eax + 8]
sub edx, ecx
mov ecx, dword [eax + 0xc]
and esi, 0xffff
imul ecx, esi
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x512d37
mov esi, ecx
movzx edi, cx
shr esi, 0x10
sub edi, esi
mov ecx, edi
shr ecx, 0x10
sub edi, ecx
jmp 0x512d41
mov edi, 1
sub edi, dword [eax + 0xc]
sub edi, esi
mov esi, dword [eax + 0x10]
mov ecx, ebx
xor ecx, edx
and ecx, 0xffff
mov edx, esi
imul edx, ecx
test edx, edx
je 0x512d68
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x512d6f
mov edx, 1
sub edx, esi
sub edx, ecx
mov ecx, dword [eax + 0x14]
mov esi, edi
xor esi, ebp
add esi, edx
and esi, 0xffff
imul ecx, esi
test ecx, ecx
je 0x512d98
mov esi, ecx
shr esi, 0x10
movzx ecx, cx
sub ecx, esi
mov esi, ecx
shr esi, 0x10
jmp 0x512da0
mov ecx, 1
sub ecx, dword [eax + 0x14]
sub ecx, esi
add edx, ecx
xor edi, edx
xor edx, ebp
mov ebp, dword [eax + 0x18]
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, ebx
mov ebx, edx
and ecx, 0xffff
mov edx, ebp
imul edx, ecx
test edx, edx
je 0x512ddb
mov ebp, edx
movzx ecx, dx
shr ebp, 0x10
sub ecx, ebp
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x512de8
mov edx, 1
sub edx, ebp
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x24]
add ebx, dword [eax + 0x20]
add esi, dword [eax + 0x1c]
and edi, 0xffff
mov ecx, edx
imul ecx, edi
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x512e17
mov edx, ecx
movzx ebp, cx
shr edx, 0x10
sub ebp, edx
mov ecx, ebp
shr ecx, 0x10
sub ebp, ecx
jmp 0x512e20
mov ebp, 1
sub ebp, edx
sub ebp, edi
mov edi, dword [eax + 0x28]
mov ecx, ebx
xor ecx, dword [esp + 0x1c]
mov edx, edi
and ecx, 0xffff
imul edx, ecx
test edx, edx
je 0x512e49
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x512e50
mov edx, 1
sub edx, edi
sub edx, ecx
mov ecx, dword [eax + 0x2c]
mov edi, ebp
xor edi, esi
add edi, edx
and edi, 0xffff
imul ecx, edi
test ecx, ecx
je 0x512e79
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x512e85
mov ebx, dword [esp + 0x10]
mov ecx, 1
sub ecx, dword [eax + 0x2c]
sub ecx, edi
mov edi, dword [eax + 0x30]
add edx, ecx
xor ebp, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, ebx
mov ebx, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x512ec0
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x512ecd
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x3c]
add ebx, dword [eax + 0x38]
add esi, dword [eax + 0x34]
and ebp, 0xffff
mov ecx, edx
imul ecx, ebp
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x512efc
mov edx, ecx
movzx ebx, cx
shr edx, 0x10
sub ebx, edx
mov ecx, ebx
shr ecx, 0x10
sub ebx, ecx
jmp 0x512f05
mov ebx, 1
sub ebx, edx
sub ebx, ebp
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov edi, dword [eax + 0x40]
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x512f30
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x512f37
mov edx, 1
sub edx, edi
mov ebp, dword [eax + 0x44]
sub edx, ecx
mov edi, ebx
xor edi, esi
add edi, edx
and edi, 0xffff
mov ecx, ebp
imul ecx, edi
test ecx, ecx
je 0x512f62
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x512f69
mov ecx, 1
sub ecx, ebp
sub ecx, edi
mov edi, dword [eax + 0x48]
add edx, ecx
xor ebx, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x10]
mov ebp, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x512fa6
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x512fb3
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x54]
add ebp, dword [eax + 0x50]
add esi, dword [eax + 0x4c]
and ebx, 0xffff
mov ecx, edx
imul ecx, ebx
mov dword [esp + 0x10], ebp
test ecx, ecx
je 0x512fe2
mov edx, ecx
movzx ebp, cx
shr edx, 0x10
sub ebp, edx
mov ecx, ebp
shr ecx, 0x10
sub ebp, ecx
jmp 0x512feb
mov ebp, 1
sub ebp, edx
sub ebp, ebx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov edi, dword [eax + 0x58]
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x513016
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x51301d
mov edx, 1
sub edx, edi
mov ebx, dword [eax + 0x5c]
sub edx, ecx
mov edi, ebp
xor edi, esi
add edi, edx
and edi, 0xffff
mov ecx, ebx
imul ecx, edi
test ecx, ecx
je 0x513048
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x51304f
mov ecx, 1
sub ecx, ebx
sub ecx, edi
mov edi, dword [eax + 0x60]
add edx, ecx
xor ebp, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x10]
mov ebx, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x51308c
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x513099
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x6c]
add ebx, dword [eax + 0x68]
add esi, dword [eax + 0x64]
and ebp, 0xffff
mov ecx, edx
imul ecx, ebp
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x5130c8
mov edx, ecx
movzx ebx, cx
shr edx, 0x10
sub ebx, edx
mov ecx, ebx
shr ecx, 0x10
sub ebx, ecx
jmp 0x5130d1
mov ebx, 1
sub ebx, edx
sub ebx, ebp
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov edi, dword [eax + 0x70]
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x5130fc
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x513103
mov edx, 1
sub edx, edi
mov ebp, dword [eax + 0x74]
sub edx, ecx
mov edi, ebx
xor edi, esi
add edi, edx
and edi, 0xffff
mov ecx, ebp
imul ecx, edi
test ecx, ecx
je 0x51312e
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x513135
mov ecx, 1
sub ecx, ebp
sub ecx, edi
mov edi, dword [eax + 0x78]
add edx, ecx
xor ebx, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x10]
mov ebp, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x513172
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x51317f
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x84]
add ebp, dword [eax + 0x80]
add esi, dword [eax + 0x7c]
and ebx, 0xffff
mov ecx, edx
imul ecx, ebx
mov dword [esp + 0x10], ebp
test ecx, ecx
je 0x5131b4
mov edx, ecx
movzx ebp, cx
shr edx, 0x10
sub ebp, edx
mov ecx, ebp
shr ecx, 0x10
sub ebp, ecx
jmp 0x5131bd
mov ebp, 1
sub ebp, edx
sub ebp, ebx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov edi, dword [eax + 0x88]
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x5131eb
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x5131f2
mov edx, 1
sub edx, edi
mov ebx, dword [eax + 0x8c]
sub edx, ecx
mov edi, ebp
xor edi, esi
add edi, edx
and edi, 0xffff
mov ecx, ebx
imul ecx, edi
test ecx, ecx
je 0x513220
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x513227
mov ecx, 1
sub ecx, ebx
sub ecx, edi
mov edi, dword [eax + 0x90]
add edx, ecx
xor ebp, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x10]
mov ebx, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x513267
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x513274
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x9c]
add ebx, dword [eax + 0x98]
add esi, dword [eax + 0x94]
and ebp, 0xffff
mov ecx, edx
imul ecx, ebp
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x5132ac
mov edx, ecx
movzx ebx, cx
shr edx, 0x10
sub ebx, edx
mov ecx, ebx
shr ecx, 0x10
sub ebx, ecx
jmp 0x5132b5
mov ebx, 1
sub ebx, edx
sub ebx, ebp
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov edi, dword [eax + 0xa0]
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x5132e3
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x5132ea
mov edx, 1
sub edx, edi
mov ebp, dword [eax + 0xa4]
sub edx, ecx
mov edi, ebx
xor edi, esi
add edi, edx
and edi, 0xffff
mov ecx, ebp
imul ecx, edi
test ecx, ecx
je 0x513318
mov edi, ecx
shr edi, 0x10
movzx ecx, cx
sub ecx, edi
mov edi, ecx
shr edi, 0x10
jmp 0x51331f
mov ecx, 1
sub ecx, ebp
sub ecx, edi
mov edi, dword [eax + 0xa8]
add edx, ecx
xor ebx, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x10]
mov ebp, edx
and ecx, 0xffff
mov edx, edi
imul edx, ecx
test edx, edx
je 0x51335f
mov edi, edx
movzx ecx, dx
shr edi, 0x10
sub ecx, edi
mov edx, ecx
shr edx, 0x10
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x51336c
mov edx, 1
sub edx, edi
sub edx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0xb4]
add ebp, dword [eax + 0xb0]
add esi, dword [eax + 0xac]
and ebx, 0xffff
mov ecx, edx
imul ecx, ebx
mov dword [esp + 0x10], ebp
test ecx, ecx
je 0x5133a4
mov edx, ecx
movzx edi, cx
shr edx, 0x10
sub edi, edx
mov ecx, edi
shr ecx, 0x10
sub edi, ecx
jmp 0x5133ad
mov edi, 1
sub edi, edx
sub edi, ebx
mov ebx, dword [eax + 0xb8]
mov ecx, ebp
xor ecx, dword [esp + 0x1c]
mov edx, ebx
and ecx, 0xffff
imul edx, ecx
test edx, edx
je 0x5133d9
mov ecx, edx
shr ecx, 0x10
movzx edx, dx
sub edx, ecx
mov ecx, edx
shr ecx, 0x10
jmp 0x5133e0
mov edx, 1
sub edx, ebx
sub edx, ecx
mov ecx, dword [eax + 0xbc]
mov ebx, edi
xor ebx, esi
add ebx, edx
and ebx, 0xffff
imul ecx, ebx
test ecx, ecx
je 0x51340c
mov ebx, ecx
shr ebx, 0x10
movzx ecx, cx
sub ecx, ebx
mov ebx, ecx
shr ebx, 0x10
jmp 0x51341b
mov ebp, dword [esp + 0x10]
mov ecx, 1
sub ecx, dword [eax + 0xbc]
sub ecx, ebx
mov ebx, dword [eax + 0xc0]
add edx, ecx
xor edi, edx
xor edx, esi
mov esi, ecx
xor ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
and ecx, 0xffff
mov edx, ebx
imul edx, ecx
xor esi, ebp
test edx, edx
je 0x513457
mov ecx, edx
movzx ebp, dx
shr ecx, 0x10
sub ebp, ecx
mov edx, ebp
shr edx, 0x10
sub ebp, edx
jmp 0x513460
mov ebp, 1
sub ebp, ebx
sub ebp, ecx
mov ebx, dword [eax + 0xc4]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xcc]
add ebx, dword [esp + 0x10]
and edi, 0xffff
mov edx, eax
imul edx, edi
add ecx, esi
test edx, edx
je 0x51349a
mov eax, edx
shr eax, 0x10
movzx edx, dx
sub edx, eax
mov eax, edx
shr eax, 0x10
sub edx, eax
jmp 0x5134a3
mov edx, 1
sub edx, eax
sub edx, edi
mov eax, dword [esp + 0x18]
movzx esi, bx
shl ebp, 0x10
or esi, ebp
pop edi
movzx edx, dx
mov dword [eax], esi
pop esi
shl ecx, 0x10
or ecx, edx
pop ebp
mov dword [eax + 4], ecx
pop ebx
pop ecx
ret