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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x14
mov ecx, dword [ebp + 0xc]
xor edx, edx
inc edx
push ebx
mov ecx, dword [ecx]
push esi
mov esi, dword [eax + 4]
push edi
mov edi, dword [eax]
mov eax, edi
shr eax, 0x10
imul ecx, eax
shr esi, 0x10
test ecx, ecx
je 0x4ce56a
mov eax, ecx
movzx ebx, cx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce571
mov ecx, dword [ebp + 0xc]
mov ebx, edx
sub ebx, dword [ecx]
mov ecx, dword [ebp + 0xc]
sub ebx, eax
add esi, dword [ecx + 8]
add edi, dword [ecx + 4]
mov dword [ebp - 4], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 8], edi
mov eax, dword [esi + 4]
mov esi, dword [ecx + 0xc]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce5a6
mov eax, esi
movzx edi, si
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ce5ab
mov edi, edx
sub edi, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
sub edi, eax
mov eax, dword [ebp - 4]
xor eax, ebx
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce5d0
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ce5d5
mov esi, edx
sub esi, dword [ecx + 0x10]
sub esi, eax
mov eax, edi
xor eax, dword [ebp - 8]
add eax, esi
movzx eax, ax
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x14]
imul eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x4ce610
mov edx, dword [ebp - 0xc]
shr eax, 0x10
movzx edx, dx
sub edx, eax
mov eax, edx
mov dword [ebp + 0xc], edx
shr eax, 0x10
xor edx, edx
sub dword [ebp + 0xc], eax
inc edx
mov eax, dword [ebp + 0xc]
jmp 0x4ce618
mov eax, edx
sub eax, dword [ecx + 0x14]
sub eax, dword [ebp + 0xc]
xor dword [ebp - 4], eax
add esi, eax
xor edi, esi
xor eax, ebx
mov ebx, dword [ecx + 0x18]
xor esi, dword [ebp - 8]
mov dword [ebp + 0xc], edi
movzx edi, ax
imul ebx, edi
test ebx, ebx
je 0x4ce64a
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
sub ebx, eax
mov dword [ebp - 8], ebx
jmp 0x4ce654
mov eax, edx
sub eax, dword [ecx + 0x18]
sub eax, edi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
add eax, dword [ecx + 0x1c]
mov edi, dword [ebp + 0xc]
add esi, dword [ecx + 0x20]
mov dword [ebp - 4], eax
movzx eax, di
mov edi, dword [ecx + 0x24]
imul edi, eax
mov dword [ebp - 0x10], esi
test edi, edi
je 0x4ce684
mov eax, edi
movzx ebx, di
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce689
mov ebx, edx
sub ebx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
sub ebx, eax
mov eax, esi
xor eax, dword [ebp - 8]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4ce6ae
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ce6b3
mov edi, edx
sub edi, dword [ecx + 0x28]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp - 4]
add eax, edi
movzx eax, ax
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x2c]
imul eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x4ce6ee
mov esi, dword [ebp - 0xc]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
jmp 0x4ce6f6
mov eax, edx
sub eax, dword [ecx + 0x2c]
sub eax, dword [ebp + 0xc]
add edi, eax
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], esi
xor ebx, edi
xor eax, dword [ebp - 8]
mov esi, dword [ecx + 0x30]
xor edi, dword [ebp - 4]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce724
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ce729
mov esi, edx
sub esi, dword [ecx + 0x30]
add edi, dword [ecx + 0x38]
sub esi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0x34]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0x3c]
imul ebx, eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], edi
test ebx, ebx
je 0x4ce75b
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce760
mov ebx, edx
sub ebx, dword [ecx + 0x3c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0x40]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce784
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ce789
mov esi, edx
sub esi, dword [ecx + 0x40]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, esi
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0x44]
imul eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ce7c4
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 - 0x14]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4ce7cc
mov eax, edx
sub eax, dword [ecx + 0x44]
sub eax, dword [ebp - 8]
add esi, eax
xor ebx, esi
xor esi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 0xc]
mov edi, dword [ecx + 0x48]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4ce7fa
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ce7ff
mov edi, edx
sub edi, dword [ecx + 0x48]
add esi, dword [ecx + 0x50]
sub edi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0x4c]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0x54]
imul ebx, eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], esi
test ebx, ebx
je 0x4ce831
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce836
mov ebx, edx
sub ebx, dword [ecx + 0x54]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0x58]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4ce85a
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ce85f
mov edi, edx
sub edi, dword [ecx + 0x58]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, edi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x5c]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4ce89a
mov esi, dword [ebp - 0x14]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4ce8a2
mov eax, edx
sub eax, dword [ecx + 0x5c]
sub eax, dword [ebp - 0xc]
add edi, eax
xor ebx, edi
xor edi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], esi
xor eax, dword [ebp - 8]
mov esi, dword [ecx + 0x60]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce8d0
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ce8d5
mov esi, edx
sub esi, dword [ecx + 0x60]
add edi, dword [ecx + 0x68]
sub esi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0x64]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0x6c]
imul ebx, eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edi
test ebx, ebx
je 0x4ce907
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce90c
mov ebx, edx
sub ebx, dword [ecx + 0x6c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0x70]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ce930
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ce935
mov esi, edx
sub esi, dword [ecx + 0x70]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, esi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x74]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4ce970
mov edi, dword [ebp - 0x14]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4ce978
mov eax, edx
sub eax, dword [ecx + 0x74]
sub eax, dword [ebp - 0xc]
add esi, eax
xor ebx, esi
xor esi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 8]
mov edi, dword [ecx + 0x78]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4ce9a6
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ce9ab
mov edi, edx
sub edi, dword [ecx + 0x78]
add esi, dword [ecx + 0x80]
sub edi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0x7c]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0x84]
imul ebx, eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], esi
test ebx, ebx
je 0x4ce9e3
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ce9eb
mov ebx, edx
sub ebx, dword [ecx + 0x84]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0x88]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4cea12
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4cea1a
mov edi, edx
sub edi, dword [ecx + 0x88]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, edi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x8c]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4cea58
mov esi, dword [ebp - 0x14]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4cea63
mov eax, edx
sub eax, dword [ecx + 0x8c]
sub eax, dword [ebp - 0xc]
add edi, eax
xor ebx, edi
xor edi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], esi
xor eax, dword [ebp - 8]
mov esi, dword [ecx + 0x90]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4cea94
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4cea9c
mov esi, edx
sub esi, dword [ecx + 0x90]
add edi, dword [ecx + 0x98]
sub esi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0x94]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0x9c]
imul ebx, eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edi
test ebx, ebx
je 0x4cead7
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4ceadf
mov ebx, edx
sub ebx, dword [ecx + 0x9c]
sub ebx, eax
mov eax, edi
xor eax, esi
mov esi, dword [ecx + 0xa0]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4ceb06
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4ceb0e
mov esi, edx
sub esi, dword [ecx + 0xa0]
sub esi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, esi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0xa4]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4ceb4c
mov edi, dword [ebp - 0x14]
shr eax, 0x10
movzx edi, di
sub edi, eax
mov eax, edi
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4ceb57
mov eax, edx
sub eax, dword [ecx + 0xa4]
sub eax, dword [ebp - 0xc]
add esi, eax
xor ebx, esi
xor esi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], edi
xor eax, dword [ebp - 8]
mov edi, dword [ecx + 0xa8]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4ceb88
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4ceb90
mov edi, edx
sub edi, dword [ecx + 0xa8]
add esi, dword [ecx + 0xb0]
sub edi, eax
mov eax, dword [ebp + 0xc]
add eax, dword [ecx + 0xac]
mov dword [ebp + 0xc], eax
movzx eax, bx
mov ebx, dword [ecx + 0xb4]
imul ebx, eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], esi
test ebx, ebx
je 0x4cebcb
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
sub ebx, eax
mov eax, ebx
shr eax, 0x10
jmp 0x4cebd3
mov ebx, edx
sub ebx, dword [ecx + 0xb4]
sub ebx, eax
mov eax, esi
xor eax, edi
mov edi, dword [ecx + 0xb8]
movzx eax, ax
imul edi, eax
test edi, edi
je 0x4cebfa
mov eax, edi
movzx edi, di
shr eax, 0x10
sub edi, eax
mov eax, edi
shr eax, 0x10
jmp 0x4cec02
mov edi, edx
sub edi, dword [ecx + 0xb8]
sub edi, eax
mov eax, ebx
xor eax, dword [ebp + 0xc]
add eax, edi
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0xbc]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4cec40
mov esi, dword [ebp - 0x14]
shr eax, 0x10
movzx esi, si
sub esi, eax
mov eax, esi
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x10]
shr eax, 0x10
sub dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x4cec4b
mov eax, edx
sub eax, dword [ecx + 0xbc]
sub eax, dword [ebp - 0xc]
add edi, eax
xor ebx, edi
xor edi, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor dword [ebp + 0xc], esi
xor eax, dword [ebp - 8]
mov esi, dword [ecx + 0xc0]
movzx eax, ax
imul esi, eax
test esi, esi
je 0x4cec7c
mov eax, esi
movzx esi, si
shr eax, 0x10
sub esi, eax
mov eax, esi
shr eax, 0x10
jmp 0x4cec84
mov esi, edx
sub esi, dword [ecx + 0xc0]
sub esi, eax
movzx ebx, bx
mov eax, dword [ecx + 0xc4]
add eax, edi
mov edi, dword [ecx + 0xc8]
add edi, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xcc]
mov dword [ebp + 0xc], ecx
imul ecx, ebx
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x4cecc3
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 - 0x14]
jmp 0x4cecc8
sub edx, dword [ebp + 0xc]
sub edx, ebx
mov ecx, dword [ebp + 8]
shl esi, 0x10
movzx eax, ax
or eax, esi
shl edi, 0x10
mov dword [ecx], eax
movzx eax, dx
or edi, eax
mov dword [ecx + 4], edi
pop edi
pop esi
pop ebx
leave
ret