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

Disassembly:
sub esp, 0xcc
mov eax, dword [0x6d8834b4]
xor eax, esp
mov dword [esp + 0xc8], eax
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
push ebx
push ebp
movsx ecx, word [edx]
movzx edx, word [edx + 2]
push esi
push edi
mov edi, dword [esp + 0xe0]
xor esi, esi
mov dword [esp + 0x38], eax
movsx eax, word [edi]
imul eax, ecx
inc esi
mov word [esp + 0x58], ax
movsx ecx, word [edi + esi*2]
movsx eax, dx
imul ecx, eax
mov word [esp + esi*2 + 0x58], cx
inc esi
cmp esi, 0x40
jl 0x6d873f9d
push 8
lea ebp, [esp + 0x5e]
pop ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ecx
movzx eax, word [ebp + 4]
movzx ebx, word [ebp + 0xa]
movzx esi, word [ebp + 8]
movzx edi, word [ebp + 6]
movzx edx, word [ebp + 0xc]
mov dword [esp + 0x28], eax
movzx eax, word [ebp + 2]
mov dword [esp + 0x2c], eax
movzx eax, word [ebp - 2]
mov dword [esp + 0x30], eax
or eax, ebx
or eax, esi
mov dword [esp + 0x34], edi
or eax, edi
mov dword [esp + 0x1c], ebx
movzx edi, word [ebp + 4]
or eax, edi
movzx edi, word [ebp + 2]
or eax, edi
movzx edi, word [ebp]
or eax, edx
or eax, edi
test ax, ax
je 0x6d874163
movsx ecx, di
imul ebx, ecx, 0xfb15
movsx edx, dx
imul eax, edx, 0x31f1
imul edi, ecx, 0x31f1
movsx ecx, si
sar ebx, 0x10
sar eax, 0x10
add ebx, eax
sar edi, 0x10
imul eax, edx, 0xfb15
sar eax, 0x10
sub edi, eax
mov eax, dword [esp + 0x28]
movsx edx, ax
imul eax, ecx, 0x8e3a
imul esi, edx, 0xd4db
imul ecx, ecx, 0xd4db
sar eax, 0x10
sar esi, 0x10
add esi, eax
sar ecx, 0x10
imul eax, edx, 0x8e3a
sar eax, 0x10
sub ecx, eax
mov eax, ebx
sub eax, esi
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x28], eax
mov eax, edi
sub eax, ecx
imul ebp, eax, 0xb505
lea eax, [esi + ebx]
mov dword [esp + 0x20], eax
lea eax, [ecx + edi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
movsx ecx, ax
mov eax, dword [esp + 0x30]
movsx edx, ax
sar ebp, 0x10
lea eax, [edx + ecx]
sub edx, ecx
imul edi, eax, 0xb505
imul eax, edx, 0xb505
sar edi, 0x10
sar eax, 0x10
mov ebx, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
movsx edx, ax
mov eax, dword [esp + 0x1c]
movsx ecx, ax
imul eax, ecx, 0x61f8
imul esi, edx, 0xec83
sar eax, 0x10
sar esi, 0x10
add esi, eax
imul eax, ecx, 0xec83
imul ecx, edx, 0x61f8
sub ebx, esi
lea edx, [esi + edi]
mov esi, dword [esp + 0x10]
sar eax, 0x10
mov edi, ebp
sar ecx, 0x10
sub ecx, eax
mov eax, dword [esp + 0x28]
sub dword [esp + 0x10], eax
add esi, eax
mov eax, dword [esp + 0x20]
sub edi, ecx
add ecx, ebp
add eax, edx
mov ebp, dword [esp + 0x14]
sub edx, dword [esp + 0x20]
mov word [ebp - 2], ax
lea eax, [esi + ecx]
mov word [ebp + 0xc], dx
mov word [ebp], ax
sub esi, ecx
mov ecx, dword [esp + 0x24]
mov word [ebp + 2], si
lea eax, [ecx + ebx]
sub ebx, ecx
mov ecx, dword [esp + 0x10]
mov word [ebp + 4], ax
mov word [ebp + 6], bx
lea eax, [edi + ecx]
sub ecx, edi
mov word [ebp + 0xa], cx
mov ecx, dword [esp + 0x18]
mov word [ebp + 8], ax
add ebp, 0x10
sub ecx, 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ecx
jne 0x6d873fc1
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x58]
mov ebx, ecx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x28], 8
sub ecx, eax
lea edx, [esp + 0xb8]
mov dword [esp + 0x40], ecx
lea ebp, [esp + 0x98]
lea ecx, [esp + 0xa8]
sub edx, eax
sub ecx, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x78]
sub ebx, eax
lea ecx, [esp + 0x68]
sub ebp, eax
mov dword [esp + 0x4c], ebx
sub edi, eax
mov dword [esp + 0x50], ebp
sub ecx, eax
mov dword [esp + 0x54], edi
lea esi, [eax + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], esi
movzx eax, word [edx + esi]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + esi]
mov dword [esp + 0x34], eax
movzx eax, word [esi + ebp]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
movzx eax, word [eax + esi]
mov dword [esp + 0x2c], eax
movzx eax, word [edi + esi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
movzx eax, word [eax + esi]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + esi]
mov dword [esp + 0x18], eax
movzx eax, word [ecx]
mov dword [esp + 0x3c], eax
or eax, dword [esp + 0x30]
or eax, dword [esp + 0x34]
or eax, dword [esp + 0x2c]
or eax, dword [esp + 0x24]
or eax, dword [esp + 0x1c]
or eax, dword [esp + 0x18]
or eax, dword [esp + 0x10]
test ax, ax
je 0x6d8743f3
mov eax, dword [esp + 0x18]
movsx edx, ax
mov eax, dword [esp + 0x10]
movsx ecx, ax
imul eax, ecx, 0x31f1
imul ebp, edx, 0xfb15
imul edi, edx, 0x31f1
sar eax, 0x10
sar ebp, 0x10
add ebp, eax
sar edi, 0x10
imul eax, ecx, 0xfb15
sar eax, 0x10
sub edi, eax
mov eax, dword [esp + 0x24]
movsx ecx, ax
mov eax, dword [esp + 0x1c]
movsx edx, ax
imul eax, ecx, 0xd4db
imul esi, edx, 0x8e3a
sar eax, 0x10
sar esi, 0x10
add esi, eax
imul eax, ecx, 0x8e3a
imul ecx, edx, 0xd4db
sar eax, 0x10
sar ecx, 0x10
sub ecx, eax
mov eax, ebp
sub eax, esi
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x24], eax
mov eax, edi
sub eax, ecx
imul ebx, eax, 0xb505
lea eax, [esi + ebp]
mov dword [esp + 0x1c], eax
lea eax, [ecx + edi]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
movsx ecx, ax
mov eax, dword [esp + 0x3c]
movsx edx, ax
sar ebx, 0x10
mov ebp, ebx
lea eax, [edx + ecx]
sub edx, ecx
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x3c], eax
imul eax, edx, 0xb505
sar eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
movsx edx, ax
mov eax, dword [esp + 0x34]
movsx ecx, ax
imul eax, ecx, 0x61f8
imul esi, edx, 0xec83
sar eax, 0x10
sar esi, 0x10
add esi, eax
imul eax, ecx, 0xec83
imul ecx, edx, 0x61f8
mov edx, dword [esp + 0x10]
add edx, 8
add edx, dword [esp + 0x24]
sar eax, 0x10
sar ecx, 0x10
sub ecx, eax
sub ebp, ecx
lea edi, [ecx + ebx]
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + 8]
sub ebx, esi
add ecx, esi
add ebx, 8
mov esi, dword [esp + 0x10]
sub esi, dword [esp + 0x24]
add esi, 8
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x20]
lea eax, [ecx + eax]
sub ecx, dword [esp + 0x1c]
sar eax, 4
sar ecx, 4
mov word [esi - 0x10], ax
lea eax, [edi + edx]
mov word [esi + 0x60], cx
sub edx, edi
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x54]
sar eax, 4
mov word [esi], ax
lea eax, [ebx + ecx]
sar edx, 4
sub ebx, ecx
sar eax, 4
mov ecx, dword [esp + 0x10]
mov word [esi + 0x20], ax
sar ebx, 4
mov word [esi + 0x10], dx
mov edx, dword [esp + 0x48]
lea eax, [ecx + ebp]
sub ecx, ebp
sar eax, 4
mov ebp, dword [esp + 0x50]
sar ecx, 4
mov word [esi + 0x30], bx
mov ebx, dword [esp + 0x4c]
mov word [esi + 0x50], cx
mov ecx, dword [esp + 0x14]
mov word [esi + 0x40], ax
jmp 0x6d874414
xor eax, eax
mov word [esi - 0x10], ax
mov word [esi + 0x60], ax
mov word [esi], ax
mov word [esi + 0x10], ax
mov word [esi + 0x20], ax
mov word [esi + 0x30], ax
mov word [esi + 0x40], ax
mov word [esi + 0x50], ax
add ecx, 2
add esi, 2
sub dword [esp + 0x28], 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], esi
jne 0x6d8741e6
mov ecx, dword [esp + 0xd8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.6d879bad
add esp, 0xcc
ret