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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
movdqa xmm0, xmmword [0x5897a0]
mov dword [esp + 0x10], edx
mov edi, dword [ecx + 0x7c]
mov esi, dword [ecx + 0x78]
mov ecx, 0xffffffff
mov eax, edi
mov edx, esi
shl eax, 4
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x4a0d88
movdqa xmm1, xmmword [edx]
add edx, 0x10
inc ecx
add eax, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb ebx, xmm1
cmp ebx, 0xffff
jne 0x4a0ce0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x4a0f7e
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x38]
push ebx
push eax
call dword [edx + 0xc]
add esp, 8
test ebx, ebx
mov dword [esp + 4], ebx
je 0x4a0f1f
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
xor edx, 0x18ea012b
xor ecx, 0x2149d243
xor ebx, 0x73e93294
xor eax, 0xcfd9c638
or ecx, edx
or eax, ebx
or eax, ecx
jne 0x4a0f1f
mov eax, dword [esp + 4]
xor ecx, ecx
mov eax, dword [eax]
cmp eax, 1
sbb ecx, ecx
or ecx, eax
jmp 0x4a0e66
movdqa xmm0, xmmword [0x5897b0]
mov edx, edi
mov ecx, 0xffffffff
mov eax, esi
mov dword [esp + 8], edi
shl edx, 4
mov ebx, edx
test edx, edx
je 0x4a0e4c
movdqa xmm1, xmmword [eax]
mov edi, esi
add eax, 0x10
inc ecx
lea edx, [ebx - 0x10]
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
mov esi, edi
mov edi, dword [esp + 8]
jne 0x4a0da0
mov eax, dword [ebp + 8]
mov dword [esp + 4], ebx
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x4a0f7e
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x28]
push ebx
push eax
call dword [edx + 0xc]
add esp, 8
test ebx, ebx
mov dword [esp + 0xc], ebx
je 0x4a0f1f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
xor edx, 0x6109e86
xor ecx, 0x5a7b2c53
xor ebx, 0x72e653
xor eax, 0x1c6a2387
or ecx, edx
or eax, ebx
or eax, ecx
jne 0x4a0f1f
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov edx, dword [eax]
cmp edx, 0x64
mov ecx, 0x64
mov eax, 0x64
cmovb ecx, edx
test edx, edx
cmove ecx, eax
test ebx, ebx
cmove ecx, eax
mov eax, dword [ebp + 8]
movdqa xmm0, xmmword [0x589280]
mov dword [esp + 4], ecx
shl edi, 4
mov ecx, 0xffffffff
mov edx, dword [eax + 0x144]
mov ebx, dword [eax + 0x148]
nop dword [eax]
test edi, edi
je 0x4a0f29
movdqa xmm1, xmmword [esi]
add esi, 0x10
inc ecx
add edi, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x4a0e90
mov eax, dword [ebp + 8]
mov dword [esp + 8], edx
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x4a0f7e
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x18]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x4a0f1f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
xor edx, 0x79916b1f
xor ecx, 0x721300f2
xor edi, 0x5ece47c5
xor eax, 0x48efe268
or ecx, edx
mov edx, dword [esp + 8]
or eax, edi
or eax, ecx
je 0x4a0f2b
mov ecx, 0x58f1dc
call fcn.0057fb10
xor esi, esi
shr ebx, 0x11
mov eax, 1
and bl, 1
test edx, 0x20000
mov edx, dword [esp + 0x14]
movzx ecx, bl
cmove eax, ecx
test esi, esi
mov ecx, 0x58fbd4
cmovne ecx, esi
mov esi, dword [esp + 0x10]
mov dword [edx + 4], esi
mov esi, dword [ebp + 8]
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 4]
mov dword [edx + 0x10], ecx
movzx ecx, byte [ebp + 0x10]
mov byte [edx + 0x14], al
mov dword [edx], esi
mov byte [edx + 0x15], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x590a6c
call fcn.0057f710
int3