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

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
cmp ecx, 0xc
jbe 0x647158cc
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x6471596c
xor ebx, ebx
lea edi, [ecx - 0xd]
mov dword [esp], esi
mov ecx, dword [esp + 0x28]
jmp 0x647158bf
xor esi, esi
nop
mov ebp, dword [esp]
add esi, dword [ebp + ebx*4]
mov dword [edx], esi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
je 0x6471596c
cmp edi, 0x13
ja case.default.0x647158c4
jmp dword [edi*4 + 0x64805290]
cmp ecx, 8
jbe 0x64715974
cmp ecx, 0xa
jbe 0x64715bb0
cmp ecx, 0xc
je 0x64715e67
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x6471596c
sub edx, 0x2c
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x28]
imul ebp, dword [edx]
mov edi, dword [eax + 0x24]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x20]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0x1c]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 0x18]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 0x18]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0x1c]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x20]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x24]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x28]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x2c], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x647158f8
lea esi, [esi]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, 4
jbe 0x64715c30
cmp ecx, 6
jbe 0x64715cb8
cmp ecx, 8
je 0x64715da9
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x6471596c
sub edx, 0x1c
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x18]
imul ebp, dword [edx]
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x18]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x1c], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x647159a0
jmp 0x6471596c
xor ebp, ebp
mov esi, dword [eax + 0x78]
imul esi, dword [edx - 0x7c]
add ebp, esi
mov esi, dword [eax + 0x74]
imul esi, dword [edx - 0x78]
add ebp, esi
mov esi, dword [eax + 0x70]
imul esi, dword [edx - 0x74]
add ebp, esi
mov esi, dword [eax + 0x6c]
imul esi, dword [edx - 0x70]
add ebp, esi
mov esi, dword [eax + 0x68]
imul esi, dword [edx - 0x6c]
add ebp, esi
mov esi, dword [eax + 0x64]
imul esi, dword [edx - 0x68]
add ebp, esi
mov esi, dword [eax + 0x60]
imul esi, dword [edx - 0x64]
add ebp, esi
mov esi, dword [eax + 0x5c]
imul esi, dword [edx - 0x60]
add ebp, esi
mov esi, dword [eax + 0x58]
imul esi, dword [edx - 0x5c]
add ebp, esi
mov esi, dword [eax + 0x54]
imul esi, dword [edx - 0x58]
add ebp, esi
mov esi, dword [eax + 0x50]
imul esi, dword [edx - 0x54]
add ebp, esi
mov esi, dword [eax + 0x4c]
imul esi, dword [edx - 0x50]
add ebp, esi
mov esi, dword [eax + 0x48]
imul esi, dword [edx - 0x4c]
add ebp, esi
mov esi, dword [eax + 0x44]
imul esi, dword [edx - 0x48]
add ebp, esi
mov esi, dword [eax + 0x40]
imul esi, dword [edx - 0x44]
add ebp, esi
mov esi, dword [eax + 0x3c]
imul esi, dword [edx - 0x40]
add ebp, esi
mov esi, dword [eax + 0x38]
imul esi, dword [edx - 0x3c]
add ebp, esi
mov esi, dword [eax + 0x34]
imul esi, dword [edx - 0x38]
add ebp, esi
mov esi, dword [eax + 0x30]
imul esi, dword [edx - 0x34]
add ebp, esi
mov esi, dword [eax + 0x2c]
imul esi, dword [edx - 0x30]
add ebp, esi
mov esi, dword [eax + 0x28]
imul esi, dword [edx - 0x2c]
add ebp, esi
mov esi, dword [eax + 0x24]
imul esi, dword [edx - 0x28]
add ebp, esi
mov esi, dword [eax + 0x20]
imul esi, dword [edx - 0x24]
add ebp, esi
mov esi, dword [eax + 0x1c]
imul esi, dword [edx - 0x20]
add ebp, esi
mov esi, dword [eax + 0x18]
imul esi, dword [edx - 0x1c]
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 - 0x14]
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 - 0xc]
add ebp, esi
mov esi, dword [eax + 4]
imul esi, dword [edx - 8]
add ebp, esi
mov esi, dword [eax]
imul esi, dword [edx - 4]
add esi, ebp
sar esi, cl
jmp 0x647158a8
xor ebp, ebp
jmp 0x647159ff
xor ebp, ebp
jmp 0x64715a08
xor ebp, ebp
jmp 0x64715a11
xor ebp, ebp
jmp 0x64715a1a
xor ebp, ebp
jmp 0x64715a23
xor ebp, ebp
jmp 0x64715a2c
xor ebp, ebp
jmp 0x64715a35
xor ebp, ebp
jmp 0x64715a3e
xor ebp, ebp
jmp 0x64715a47
xor ebp, ebp
jmp 0x64715a50
xor ebp, ebp
jmp 0x64715a59
xor ebp, ebp
jmp 0x64715a62
xor ebp, ebp
jmp 0x64715a6b
xor ebp, ebp
jmp 0x64715a74
xor ebp, ebp
jmp 0x64715a7d
xor ebp, ebp
jmp 0x64715a86
xor ebp, ebp
jmp 0x64715a8f
xor ebp, ebp
jmp 0x64715a98
mov ebp, dword [eax + 0x7c]
imul ebp, dword [edx - 0x80]
jmp 0x647159f6
je 0x64715efb
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x6471596c
sub edx, 0x24
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x20]
imul ebp, dword [edx]
mov edi, dword [eax + 0x1c]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x18]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x18]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x1c]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x20]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x24], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715bcc
jmp 0x6471596c
cmp ecx, 2
jbe 0x64715c80
cmp ecx, 4
je 0x64715e1b
xor ebx, ebx
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x6471596c
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 8]
imul ebp, dword [edx + ebx*4 - 0xc]
mov edi, dword [eax + 4]
imul edi, dword [edx + ebx*4 - 8]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + ebx*4 - 4]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0x1c]
jne 0x64715c50
jmp 0x6471596c
je 0x64715d71
xor edi, edi
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x6471596c
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [eax]
imul ebx, dword [edx + edi*4 - 4]
sar ebx, cl
add ebx, dword [esi + edi*4]
mov dword [edx + edi*4], ebx
inc edi
cmp edi, ebp
jne 0x64715c9c
jmp 0x6471596c
je 0x64715d10
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x6471596c
sub edx, 0x14
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x10]
imul ebp, dword [edx]
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x10]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x14], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715cd0
jmp 0x6471596c
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x6471596c
sub edx, 0x18
xor ebx, ebx
mov ecx, dword [esp + 0x28]
lea esi, [esi]
mov ebp, dword [eax + 0x14]
imul ebp, dword [edx]
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x14]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x18], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715d28
jmp 0x6471596c
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x6471596c
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 4]
imul ebp, dword [edx + ebx*4 - 8]
mov edi, dword [eax]
imul edi, dword [edx + ebx*4 - 4]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0x1c]
jne 0x64715d84
jmp 0x6471596c
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x6471596c
sub edx, 0x20
xor ebx, ebx
mov ecx, dword [esp + 0x28]
nop
mov ebp, dword [eax + 0x1c]
imul ebp, dword [edx]
mov edi, dword [eax + 0x18]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x18]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x1c]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x20], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715dc0
jmp 0x6471596c
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x6471596c
sub edx, 0x10
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0xc]
imul ebp, dword [edx]
mov edi, dword [eax + 8]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0xc]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x10], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715e30
jmp 0x6471596c
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x6471596c
sub edx, 0x30
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x2c]
imul ebp, dword [edx]
mov edi, dword [eax + 0x28]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x24]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0x20]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 0x1c]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 0x18]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 0x18]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 0x1c]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0x20]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x24]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x28]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x2c]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x30], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715e7c
jmp 0x6471596c
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x6471596c
sub edx, 0x28
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x24]
imul ebp, dword [edx]
mov edi, dword [eax + 0x20]
imul edi, dword [edx + 4]
add ebp, edi
mov edi, dword [eax + 0x1c]
imul edi, dword [edx + 8]
add ebp, edi
mov edi, dword [eax + 0x18]
imul edi, dword [edx + 0xc]
add ebp, edi
mov edi, dword [eax + 0x14]
imul edi, dword [edx + 0x10]
add ebp, edi
mov edi, dword [eax + 0x10]
imul edi, dword [edx + 0x14]
add ebp, edi
mov edi, dword [eax + 0xc]
imul edi, dword [edx + 0x18]
add ebp, edi
mov edi, dword [eax + 8]
imul edi, dword [edx + 0x1c]
add ebp, edi
mov edi, dword [eax + 4]
imul edi, dword [edx + 0x20]
add ebp, edi
mov edi, dword [eax]
imul edi, dword [edx + 0x24]
add edi, ebp
sar edi, cl
add edi, dword [esi + ebx*4]
mov dword [edx + 0x28], edi
inc ebx
add edx, 4
cmp ebx, dword [esp + 0x1c]
jne 0x64715f10
jmp 0x6471596c