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

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
mov eax, 0x51eb851f
push ebp
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx]
lea ebp, [ebx + 0x3ae08]
imul dword [ecx + 0x8954]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0xf
cmp eax, edx
cmovg eax, edx
mov edx, dword [ebx + 0x3e674]
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + 0x6d660]
mov eax, dword [ecx + eax*4 + 0x3f0]
mov ecx, 6
cmp eax, ecx
cmovl ecx, eax
mov al, byte [ebx + 0x3abf0]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x1c], al
test edx, edx
je 0x1007c796
mov ecx, dword [esi + 0x31c0]
mov eax, dword [ebp]
add ecx, eax
jmp 0x1007c79b
mov ecx, dword [ebp]
mov eax, ecx
cmp ecx, 0xff
jg 0x1007c7bb
test edx, edx
je 0x1007c7b1
mov ecx, dword [esi + 0x31c0]
add ecx, eax
jmp 0x1007c7b3
mov ecx, eax
test ecx, ecx
jns 0x1007c7bb
xor ecx, ecx
jmp 0x1007c7ea
test edx, edx
je 0x1007c7c9
mov ecx, dword [esi + 0x31c0]
add ecx, eax
jmp 0x1007c7cb
mov ecx, eax
cmp ecx, 0xff
jle 0x1007c7da
mov ecx, 0xff
jmp 0x1007c7ea
test edx, edx
je 0x1007c7e8
mov ecx, dword [esi + 0x31c0]
add ecx, eax
jmp 0x1007c7ea
mov ecx, eax
push edi
push ecx
push dword [esp + 0x28]
lea eax, [ebx + 0x3d230]
push eax
call fcn.100c67c0
add esp, 0xc
mov edi, eax
cmp dword [ebx + 0x3eed4], 0
je 0x1007c893
mov edx, dword [ebx + 0x3e674]
test edx, edx
je 0x1007c825
mov ecx, dword [esi + 0x31c4]
mov eax, dword [ebp]
add ecx, eax
jmp 0x1007c82a
mov ecx, dword [ebp]
mov eax, ecx
cmp ecx, 0xff
jg 0x1007c84a
test edx, edx
je 0x1007c840
mov ecx, dword [esi + 0x31c4]
add ecx, eax
jmp 0x1007c842
mov ecx, eax
test ecx, ecx
jns 0x1007c84a
xor ecx, ecx
jmp 0x1007c879
test edx, edx
je 0x1007c858
mov ecx, dword [esi + 0x31c4]
add ecx, eax
jmp 0x1007c85a
mov ecx, eax
cmp ecx, 0xff
jle 0x1007c869
mov ecx, 0xff
jmp 0x1007c879
test edx, edx
je 0x1007c877
mov ecx, dword [esi + 0x31c4]
add ecx, eax
jmp 0x1007c879
mov ecx, eax
push ecx
push dword [esp + 0x28]
lea eax, [ebx + 0x3d230]
push eax
call fcn.100c67c0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x1007c899
mov eax, edi
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 4]
add edx, eax
mov eax, dword [ebx + 0x3eea8]
cmp eax, 2
jge 0x1007c8c4
test eax, eax
jne 0x1007c8c0
cmp byte [ebx + 0x916d8], al
jne 0x1007c8c0
mov eax, dword [ebx]
cmp dword [eax + 0x59f4], 0
jne 0x1007c8c4
xor eax, eax
jmp 0x1007c8c9
mov eax, 1
movzx ecx, byte [ebx + 0x6d660]
push eax
push dword [ebx + 0x3eb50]
mov eax, dword [ebx]
push dword [esp + 0x28]
push dword [esp + 0x28]
movzx eax, byte [ecx + eax + 0x100]
push dword [esp + 0x24]
push eax
mov eax, dword [ebx + 0x3e7a8]
push dword [eax + 0x48]
push edx
call fcn.1007dd20
add esp, 0x20
mov dword [esp + 0x14], eax
cmp dword [esi + 0x31bc], edi
jne 0x1007c917
cmp dword [esp + 0x28], 0
je 0x1007ca2f
mov dword [esi + 0x141dc], 0
lea eax, [ebx + 0x10]
mov dword [esi + 0x31bc], edi
shl edi, 4
add eax, edi
mov dword [esi + 0x34], eax
lea eax, [ebx + 0x4010]
add eax, edi
mov dword [esi + 0x2c], eax
lea eax, [ebx + 0x7010]
add eax, edi
mov dword [esi + 0x30], eax
lea eax, [ebx + 0x1010]
add eax, edi
mov dword [esi + 0x3c], eax
lea eax, [ebx + 0x2010]
add eax, edi
mov dword [esi + 0x40], eax
lea eax, [ebx + 0x3010]
add eax, edi
mov dword [esi + 0x38], eax
lea eax, [ebx + 0x12010]
add eax, edi
mov dword [esi + 0x44], eax
lea eax, [ebx + 0xa010]
add eax, edi
mov dword [esi + 0x7c], eax
lea eax, [ebx + 0x5010]
add eax, edi
mov dword [esi + 0x74], eax
lea eax, [ebx + 0x8010]
add eax, edi
mov dword [esi + 0x78], eax
lea eax, [ebx + 0xc010]
add eax, edi
mov dword [esi + 0x84], eax
lea eax, [ebx + 0xe010]
add eax, edi
mov dword [esi + 0x88], eax
lea eax, [ebx + 0x10010]
add eax, edi
mov dword [esi + 0x80], eax
lea eax, [ebx + 0x13010]
add eax, edi
mov dword [esi + 0x8c], eax
lea eax, [ebx + 0xb010]
add eax, edi
mov dword [esi + 0xc4], eax
lea eax, [ebx + 0x6010]
add eax, edi
mov dword [esi + 0xbc], eax
lea eax, [ebx + 0x9010]
add eax, edi
mov dword [esi + 0xc0], eax
lea eax, [ebx + 0xd010]
add eax, edi
mov dword [esi + 0xcc], eax
lea eax, [ebx + 0xf010]
add eax, edi
mov dword [esi + 0xd0], eax
lea eax, [ebx + 0x11010]
add eax, edi
mov dword [esi + 0xc8], eax
lea eax, [ebx + 0x14010]
add eax, edi
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x24]
lea edi, [esi + 0xe0]
cmp eax, dword [esi + 0x141f4]
jne 0x1007ca58
push eax
push edi
push ebp
call fcn.100c69e0
add esp, 0xc
test al, al
je 0x1007cca8
mov eax, dword [esp + 0x24]
push eax
push edi
push ebp
call fcn.100c69e0
add esp, 0xc
test al, al
je 0x1007ca83
mov eax, dword [ebp + 0x2420]
mov ecx, dword [ebp + 0x241c]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x2424]
mov dword [esp + 0x1c], eax
jmp 0x1007ca90
mov ecx, 0xf
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
imul edx, dword [esp + 0x24], 0x4c
add edx, edi
imul ecx, ecx, 0xe4
add ecx, ebp
movups xmm0, xmmword [ecx + 0xeb8]
movups xmmword [edx + 0x2e8], xmm0
movups xmm0, xmmword [ecx + 0xec8]
movups xmmword [edx + 0x2f8], xmm0
movups xmm0, xmmword [ecx + 0xed8]
movups xmmword [edx + 0x308], xmm0
movups xmm0, xmmword [ecx + 0xee8]
movups xmmword [edx + 0x318], xmm0
movq xmm0, qword [ecx + 0xef8]
movq qword [edx + 0x328], xmm0
mov eax, dword [ecx + 0xf00]
mov dword [edx + 0x330], eax
movups xmm0, xmmword [ecx + 0x78]
movups xmmword [edx + 0x88], xmm0
movups xmm0, xmmword [ecx + 0x88]
movups xmmword [edx + 0x98], xmm0
movups xmm0, xmmword [ecx + 0x98]
movups xmmword [edx + 0xa8], xmm0
movups xmm0, xmmword [ecx + 0xa8]
movups xmmword [edx + 0xb8], xmm0
movq xmm0, qword [ecx + 0xb8]
movq qword [edx + 0xc8], xmm0
mov eax, dword [ecx + 0xc0]
imul ecx, dword [esp + 0x20], 0xe4
mov dword [edx + 0xd0], eax
add ecx, ebp
movups xmm0, xmmword [ecx + 0xf04]
movups xmmword [edx + 0x820], xmm0
movups xmm0, xmmword [ecx + 0xf14]
movups xmmword [edx + 0x830], xmm0
movups xmm0, xmmword [ecx + 0xf24]
movups xmmword [edx + 0x840], xmm0
movups xmm0, xmmword [ecx + 0xf34]
movups xmmword [edx + 0x850], xmm0
movq xmm0, qword [ecx + 0xf44]
movq qword [edx + 0x860], xmm0
mov eax, dword [ecx + 0xf4c]
mov dword [edx + 0x868], eax
movups xmm0, xmmword [ecx + 0xc4]
movups xmmword [edx + 0x5c0], xmm0
movups xmm0, xmmword [ecx + 0xd4]
movups xmmword [edx + 0x5d0], xmm0
movups xmm0, xmmword [ecx + 0xe4]
movups xmmword [edx + 0x5e0], xmm0
movups xmm0, xmmword [ecx + 0xf4]
movups xmmword [edx + 0x5f0], xmm0
movq xmm0, qword [ecx + 0x104]
movq qword [edx + 0x600], xmm0
mov eax, dword [ecx + 0x10c]
imul ecx, dword [esp + 0x1c], 0xe4
add ecx, ebp
mov dword [edx + 0x608], eax
movups xmm0, xmmword [ecx + 0xf50]
movups xmmword [edx + 0xd58], xmm0
movups xmm0, xmmword [ecx + 0xf60]
movups xmmword [edx + 0xd68], xmm0
movups xmm0, xmmword [ecx + 0xf70]
movups xmmword [edx + 0xd78], xmm0
movups xmm0, xmmword [ecx + 0xf80]
movups xmmword [edx + 0xd88], xmm0
movq xmm0, qword [ecx + 0xf90]
movq qword [edx + 0xd98], xmm0
mov eax, dword [ecx + 0xf98]
mov dword [edx + 0xda0], eax
movups xmm0, xmmword [ecx + 0x110]
movups xmmword [edx + 0xaf8], xmm0
movups xmm0, xmmword [ecx + 0x120]
movups xmmword [edx + 0xb08], xmm0
movups xmm0, xmmword [ecx + 0x130]
movups xmmword [edx + 0xb18], xmm0
movups xmm0, xmmword [ecx + 0x140]
movups xmmword [edx + 0xb28], xmm0
movq xmm0, qword [ecx + 0x150]
movq qword [edx + 0xb38], xmm0
mov eax, dword [ecx + 0x158]
mov dword [edx + 0xb40], eax
cmp byte [ebx + 0x3d230], 0
pop edi
je 0x1007ccca
mov eax, dword [esp + 0x20]
movzx eax, al
test byte [ebx + eax*4 + 0x3d2b4], 0x40
je 0x1007ccca
mov eax, 1
jmp 0x1007cccc
xor eax, eax
mov ecx, dword [esp + 0x10]
push dword [esp + 0xc]
mov dword [esi + 0x141dc], eax
mov eax, 1
sar ecx, 6
cmp ecx, eax
cmovg eax, ecx
mov dword [esi + 0x141d4], eax
lea eax, [esi + 0x141d8]
push eax
push ebx
call fcn.100804b0
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [esi + 0x141f4], eax
pop esi
pop ebp
pop ebx
add esp, 8
ret