Function at 0x576cc0
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 0x576cfe
mov eax, ecx
movzx ebx, cx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x576d05
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 0x576d41
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x576d47
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 0x576d6c
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x576d71
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 0x576d9a
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x576d9f
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 0x576ddd
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 0x576de7
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 0x576e1b
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x576e21
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 0x576e48
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x576e4c
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 0x576e8d
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 0x576e95
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 0x576ec5
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x576eca
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 0x576f03
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x576f09
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 0x576f30
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x576f34
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 0x576f75
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 0x576f7d
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 0x576fad
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x576fb2
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 0x576feb
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x576ff1
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 0x577018
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x57701c
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 0x57705d
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 0x577065
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 0x577095
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x57709a
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 0x5770d3
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x5770d9
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 0x577100
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x577104
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 0x577145
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 0x57714d
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 0x57717d
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x577182
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 0x5771c1
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x5771c7
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 0x5771f1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x5771f5
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 0x577239
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 0x577244
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 0x577277
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x57727f
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 0x5772c1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
sub esi, eax
jmp 0x5772c7
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 0x5772f1
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x5772f5
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 0x577339
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 0x577344
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 0x577377
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x57737f
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 0x5773c1
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
sub edi, eax
jmp 0x5773c7
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 0x5773f1
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x5773f5
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 0x577439
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 0x577444
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 0x57747a
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x57747e
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 0x5774c1
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 0x5774c6
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