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

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
cmp ecx, 0xc
jbe 0x64714234
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x647142d4
xor ebx, ebx
lea ebp, [ecx - 0xd]
mov ecx, dword [esp + 0x28]
mov dword [esp], edi
jmp 0x64714228
xor edi, edi
nop
mov esi, dword [edx]
sub esi, edi
mov edi, dword [esp]
mov dword [edi + ebx*4], esi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
je 0x647142d4
cmp ebp, 0x13
ja case.default.0x6471422d
jmp dword [ebp*4 + 0x648051f0]
cmp ecx, 8
jbe 0x647142dc
cmp ecx, 0xa
jbe 0x64714518
cmp ecx, 0xc
je 0x647147e1
mov esi, dword [esp + 0x1c]
test esi, esi
jle 0x647142d4
sub edx, 0x2c
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x28]
imul ebp, dword [edx]
mov esi, dword [eax + 0x24]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x20]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0x1c]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 0x14]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 0x18]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0x1c]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x20]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x24]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x28]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x2c]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714260
nop
pop ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, 4
jbe 0x6471459c
cmp ecx, 6
jbe 0x64714628
cmp ecx, 8
je 0x6471471f
mov esi, dword [esp + 0x1c]
test esi, esi
jle 0x647142d4
sub edx, 0x1c
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x18]
imul ebp, dword [edx]
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x14]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x18]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x1c]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714308
jmp 0x647142d4
xor edi, edi
mov esi, dword [eax + 0x78]
imul esi, dword [edx - 0x7c]
add edi, esi
mov esi, dword [eax + 0x74]
imul esi, dword [edx - 0x78]
add edi, esi
mov esi, dword [eax + 0x70]
imul esi, dword [edx - 0x74]
add edi, esi
mov esi, dword [eax + 0x6c]
imul esi, dword [edx - 0x70]
add edi, esi
mov esi, dword [eax + 0x68]
imul esi, dword [edx - 0x6c]
add edi, esi
mov esi, dword [eax + 0x64]
imul esi, dword [edx - 0x68]
add edi, esi
mov esi, dword [eax + 0x60]
imul esi, dword [edx - 0x64]
add edi, esi
mov esi, dword [eax + 0x5c]
imul esi, dword [edx - 0x60]
add edi, esi
mov esi, dword [eax + 0x58]
imul esi, dword [edx - 0x5c]
add edi, esi
mov esi, dword [eax + 0x54]
imul esi, dword [edx - 0x58]
add edi, esi
mov esi, dword [eax + 0x50]
imul esi, dword [edx - 0x54]
add edi, esi
mov esi, dword [eax + 0x4c]
imul esi, dword [edx - 0x50]
add edi, esi
mov esi, dword [eax + 0x48]
imul esi, dword [edx - 0x4c]
add edi, esi
mov esi, dword [eax + 0x44]
imul esi, dword [edx - 0x48]
add edi, esi
mov esi, dword [eax + 0x40]
imul esi, dword [edx - 0x44]
add edi, esi
mov esi, dword [eax + 0x3c]
imul esi, dword [edx - 0x40]
add edi, esi
mov esi, dword [eax + 0x38]
imul esi, dword [edx - 0x3c]
add edi, esi
mov esi, dword [eax + 0x34]
imul esi, dword [edx - 0x38]
add edi, esi
mov esi, dword [eax + 0x30]
imul esi, dword [edx - 0x34]
add edi, esi
mov esi, dword [eax + 0x2c]
imul esi, dword [edx - 0x30]
add edi, esi
mov esi, dword [eax + 0x28]
imul esi, dword [edx - 0x2c]
add edi, esi
mov esi, dword [eax + 0x24]
imul esi, dword [edx - 0x28]
add edi, esi
mov esi, dword [eax + 0x20]
imul esi, dword [edx - 0x24]
add edi, esi
mov esi, dword [eax + 0x1c]
imul esi, dword [edx - 0x20]
add edi, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx - 0x1c]
add edi, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx - 0x18]
add edi, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx - 0x14]
add edi, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx - 0x10]
add edi, esi
mov esi, dword [eax + 8]
imul esi, dword [edx - 0xc]
add edi, esi
mov esi, dword [eax + 4]
imul esi, dword [edx - 8]
add edi, esi
mov esi, dword [eax]
imul esi, dword [edx - 4]
add edi, esi
sar edi, cl
jmp 0x64714210
xor edi, edi
jmp 0x64714367
xor edi, edi
jmp 0x64714370
xor edi, edi
jmp 0x64714379
xor edi, edi
jmp 0x64714382
xor edi, edi
jmp 0x6471438b
xor edi, edi
jmp 0x64714394
xor edi, edi
jmp 0x6471439d
xor edi, edi
jmp 0x647143a6
xor edi, edi
jmp 0x647143af
xor edi, edi
jmp 0x647143b8
xor edi, edi
jmp 0x647143c1
xor edi, edi
jmp 0x647143ca
xor edi, edi
jmp 0x647143d3
xor edi, edi
jmp 0x647143dc
xor edi, edi
jmp 0x647143e5
xor edi, edi
jmp 0x647143ee
xor edi, edi
jmp 0x647143f7
xor edi, edi
jmp 0x64714400
mov edi, dword [eax + 0x7c]
imul edi, dword [edx - 0x80]
jmp 0x6471435e
je 0x64714879
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x647142d4
sub edx, 0x24
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x20]
imul ebp, dword [edx]
mov esi, dword [eax + 0x1c]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0x14]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x18]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x1c]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x20]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x24]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714534
jmp 0x647142d4
cmp ecx, 2
jbe 0x647145f0
cmp ecx, 4
je 0x64714791
xor ebx, ebx
mov esi, dword [esp + 0x1c]
test esi, esi
jle 0x647142d4
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 8]
imul ebp, dword [edx + ebx*4 - 0xc]
mov esi, dword [eax + 4]
imul esi, dword [edx + ebx*4 - 8]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + ebx*4 - 4]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + ebx*4]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
cmp ebx, dword [esp + 0x1c]
jne 0x647145bc
jmp 0x647142d4
je 0x647146e3
xor ebx, ebx
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x647142d4
mov ecx, dword [esp + 0x28]
mov esi, dword [eax]
imul esi, dword [edx + ebx*4 - 4]
sar esi, cl
mov ebp, dword [edx + ebx*4]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
cmp ebx, dword [esp + 0x1c]
jne 0x64714608
jmp 0x647142d4
je 0x64714682
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x647142d4
sub edx, 0x14
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x10]
imul ebp, dword [edx]
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0xc]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x10]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x14]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714640
jmp 0x647142d4
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x647142d4
sub edx, 0x18
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x14]
imul ebp, dword [edx]
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax]
imul esi, dword [edx + 0x14]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x18]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714698
jmp 0x647142d4
mov esi, dword [esp + 0x1c]
test esi, esi
jle 0x647142d4
xor ebx, ebx
mov ecx, dword [esp + 0x28]
lea esi, [esi]
mov ebp, dword [eax + 4]
imul ebp, dword [edx + ebx*4 - 8]
mov esi, dword [eax]
imul esi, dword [edx + ebx*4 - 4]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + ebx*4]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
cmp ebx, dword [esp + 0x1c]
jne 0x647146f8
jmp 0x647142d4
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x647142d4
sub edx, 0x20
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x1c]
imul ebp, dword [edx]
mov esi, dword [eax + 0x18]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x14]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x18]
add ebp, esi
mov esi, dword [eax]
imul esi, dword [edx + 0x1c]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x20]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714734
jmp 0x647142d4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x647142d4
sub edx, 0x10
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0xc]
imul ebp, dword [edx]
mov esi, dword [eax + 8]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax]
imul esi, dword [edx + 0xc]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x10]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x647147a8
jmp 0x647142d4
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x647142d4
sub edx, 0x30
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x2c]
imul ebp, dword [edx]
mov esi, dword [eax + 0x28]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x24]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0x20]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 0x1c]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx + 0x14]
add ebp, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 0x18]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 0x1c]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0x20]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x24]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x28]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x2c]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x30]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x647147f8
jmp 0x647142d4
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x647142d4
sub edx, 0x28
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x24]
imul ebp, dword [edx]
mov esi, dword [eax + 0x20]
imul esi, dword [edx + 4]
add ebp, esi
mov esi, dword [eax + 0x1c]
imul esi, dword [edx + 8]
add ebp, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx + 0xc]
add ebp, esi
mov esi, dword [eax + 0x14]
imul esi, dword [edx + 0x10]
add ebp, esi
mov esi, dword [eax + 0x10]
imul esi, dword [edx + 0x14]
add ebp, esi
mov esi, dword [eax + 0xc]
imul esi, dword [edx + 0x18]
add ebp, esi
mov esi, dword [eax + 8]
imul esi, dword [edx + 0x1c]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx + 0x20]
add esi, ebp
mov ebp, dword [eax]
imul ebp, dword [edx + 0x24]
add esi, ebp
sar esi, cl
mov ebp, dword [edx + 0x28]
sub ebp, esi
mov dword [edi + ebx*4], ebp
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64714890
jmp 0x647142d4