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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov esi, dword [0x4de47c]
mov esi, dword [esi]
xor esi, ebp
mov dword [esp + 0x10c], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0xbc], edx
mov ecx, dword [esp + 0xbc]
call fcn.00469860
mov eax, dword [esp + 0x6c]
sub edx, eax
setae al
movzx ecx, al
call fcn.00404480
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
jmp 0x45c8f9
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xe0]
mov dword [esp], eax
call fcn.00469a30
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xdc], eax
jmp 0x45cac5
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
cmp eax, 8
jae 0x45c910
jmp 0x45c931
jmp 0x45c8f9
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x60], ecx
mov eax, 8
cmp eax, ecx
jbe 0x45c996
jmp 0x45c998
jmp 0x45c8ad
jmp 0x45c90e
mov eax, dword [esp + 0x5c]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x80], xmm0
mov ecx, 0x7f
call fcn.00464550
movaps xmm0, xmmword [esp + 0x40]
mov cx, ax
mov ax, cx
movd xmm1, eax
pshuflw xmm1, xmm1, 0
pshufd xmm1, xmm1, 0
movaps xmmword [esp + 0x90], xmm1
por xmm0, xmm1
pcmpeqw xmm0, xmm1
packsswb xmm0, xmm1
pmovmskb eax, xmm0
not eax
cmp al, 0
jne 0x45ca23
jmp 0x45ca28
jmp 0x45c938
mov edx, dword [esp + 0x60]
mov ecx, 8
call fcn.00401ee0
movaps xmm0, xmmword [esp + 0x40]
call fcn.00464290
mov eax, dword [esp + 0x64]
movaps xmm1, xmmword [0x4aa070]
pand xmm0, xmm1
packuswb xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
movlpd qword [esp + 0xa8], xmm0
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc8]
call fcn.00469920
movaps xmm0, xmmword [esp + 0x20]
movlpd qword [esp + 0xcc], xmm0
movsd xmm0, qword [esp + 0xcc]
movsd qword [eax], xmm0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x38], ecx
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, 8
cmp eax, ecx
jbe 0x45ca40
jmp 0x45ca42
jmp 0x45c8ad
jmp 0x45c9a6
mov eax, dword [esp + 0x38]
mov ecx, eax
sub ecx, 8
mov dword [esp + 0x1c], ecx
cmp eax, eax
jbe 0x45ca5f
jmp 0x45ca61
jmp 0x45ca2d
mov edx, dword [esp + 0x38]
mov ecx, 8
call fcn.00401eb0
mov ecx, dword [esp + 0x38]
mov eax, 8
cmp eax, ecx
jbe 0x45ca87
jmp 0x45ca89
jmp 0x45ca50
mov edx, dword [esp + 0x38]
mov ecx, edx
call fcn.00401ee0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
jmp 0x45c936
jmp 0x45ca6c
mov edx, dword [esp + 0x38]
mov ecx, 8
call fcn.00401ee0
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10c]
xor ecx, ebp
mov eax, dword [0x4de47c]
mov eax, dword [eax]
sub eax, ecx
jne 0x45cab3
jmp 0x45cab8
call fcn.004a85b0
mov eax, dword [esp + 0x18]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
jmp 0x45ca97
lea ecx, [esp + 0xec]
lea edx, [esp + 0xd4]
call fcn.00469ab0
cmp byte [esp + 0xf0], 0
jne 0x45cae6
jmp 0x45cb2c
jmp 0x45cac5
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x14], ecx
mov ax, cx
mov word [esp + 0xb4], ax
mov eax, ecx
shr eax, 0x10
and eax, 0x1f
mov byte [esp + 0xb6], al
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0xf4]
call fcn.00469780
cmp word [esp + 0xf4], 0
je 0x45cb80
jmp 0x45cb8d
jmp 0x45cac3
jmp 0x45cae4
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov ah, al
and ah, 7
mov byte [esp + 0xbb], ah
mov dword [esp + 0xf8], ecx
mov esi, dword [esp + 0xf8]
movzx eax, al
and eax, 7
lea ecx, [esp + 0xfc]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00469ea0
cmp word [esp + 0x104], 0
jne 0x45cbbd
jmp 0x45cbf9
mov al, byte [esp + 0xf6]
mov byte [esp + 0x12], al
jmp 0x45cb30
mov ecx, dword [esp + 0x68]
movzx edx, word [esp + 0xf4]
call fcn.0044e1d0
mov cl, byte [esp + 0x13]
mov al, byte [esp + 0x11]
and cl, 7
and al, 7
sub al, cl
sete al
movzx ecx, al
call fcn.00404480
jmp 0x45cb2e
mov ecx, dword [esp + 0x68]
mov ax, word [esp + 0x104]
mov word [esp + 0xe], ax
call fcn.00401c30
mov ecx, dword [esp + 0x10c]
xor ecx, ebp
mov eax, dword [0x4de47c]
mov eax, dword [eax]
sub eax, ecx
jne 0x45cab3
jmp 0x45cbed
mov ax, word [esp + 0xe]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x100]
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], esi
mov dword [eax], ecx
lea ecx, [esp + 0x108]
call fcn.0046a030
cmp word [esp + 0x108], 0
jne 0x45cc40
mov al, byte [esp + 0x10a]
mov byte [esp + 0x11], al
jmp 0x45cb9e
mov ecx, dword [esp + 0x68]
movzx edx, word [esp + 0x108]
call fcn.0044e1d0
nop word cs:[eax + eax]
nop dword [eax + eax]