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

Disassembly:
push ebp
mov eax, esp
sub esp, 4
and esp, 0xfffffff0
mov dword [esp], eax
mov ebp, esp
sub esp, 0x140
push ebx
push ecx
push esi
push edi
push ebp
mov esi, dword [eax + 8]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
push esi
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x118], edx
mov dword [esp + 0x120], esi
mov esi, dword [esp + 0x118]
movsx ecx, word [esi]
sub ecx, dword [eax + 0x14]
mov esi, ecx
mov edx, ecx
sar edx, 0x1f
xor ecx, edx
sub ecx, edx
add esi, edx
mov dword [esp + 0x124], esi
movzx edx, byte [ecx + 0x64ffe0]
mov dword [esp + 0x128], edx
mov ebp, dword [eax + 0x18]
mov eax, dword [ebp + edx*4]
movzx ecx, byte [ebp + edx + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x43016a
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x43014a
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430163
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x128]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x124]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x4301cb
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4301ab
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4301c4
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
xor ecx, ecx
mov esi, dword [esp + 0x118]
pxor xmm4, xmm4
pxor xmm5, xmm5
pxor xmm6, xmm6
pxor xmm7, xmm7
pinsrw xmm0, word [esi + 2], 0
pinsrw xmm1, word [esi + 0x30], 0
pinsrw xmm2, word [esi + 0x26], 0
pinsrw xmm3, word [esi + 0x28], 0
pinsrw xmm0, word [esi + 0x10], 1
pinsrw xmm1, word [esi + 0x40], 1
pinsrw xmm2, word [esi + 0x34], 1
pinsrw xmm3, word [esi + 0x1a], 1
pinsrw xmm0, word [esi + 0x20], 2
pinsrw xmm1, word [esi + 0x32], 2
pinsrw xmm2, word [esi + 0x42], 2
pinsrw xmm3, word [esi + 0xc], 2
pinsrw xmm0, word [esi + 0x12], 3
pinsrw xmm1, word [esi + 0x24], 3
pinsrw xmm2, word [esi + 0x50], 3
pinsrw xmm3, word [esi + 0xe], 3
pinsrw xmm0, word [esi + 4], 4
pinsrw xmm1, word [esi + 0x16], 4
pinsrw xmm2, word [esi + 0x60], 4
pinsrw xmm3, word [esi + 0x1c], 4
pinsrw xmm0, word [esi + 6], 5
pinsrw xmm1, word [esi + 8], 5
pinsrw xmm2, word [esi + 0x52], 5
pinsrw xmm3, word [esi + 0x2a], 5
pinsrw xmm0, word [esi + 0x14], 6
pinsrw xmm1, word [esi + 0xa], 6
pinsrw xmm2, word [esi + 0x44], 6
pinsrw xmm3, word [esi + 0x38], 6
pinsrw xmm0, word [esi + 0x22], 7
pinsrw xmm1, word [esi + 0x18], 7
pinsrw xmm2, word [esi + 0x36], 7
pinsrw xmm3, word [esi + 0x46], 7
pcmpgtw xmm4, xmm0
pcmpgtw xmm5, xmm1
pcmpgtw xmm6, xmm2
pcmpgtw xmm7, xmm3
paddw xmm0, xmm4
paddw xmm1, xmm5
paddw xmm2, xmm6
paddw xmm3, xmm7
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm0
pxor xmm5, xmm1
pxor xmm6, xmm2
pxor xmm7, xmm3
movdqa xmmword [esp + 0x18], xmm0
movdqa xmmword [esp + 0x28], xmm1
movdqa xmmword [esp + 0x38], xmm2
movdqa xmmword [esp + 0x48], xmm3
movdqa xmmword [esp + 0x98], xmm4
movdqa xmmword [esp + 0xa8], xmm5
movdqa xmmword [esp + 0xb8], xmm6
movdqa xmmword [esp + 0xc8], xmm7
pxor xmm4, xmm4
pxor xmm5, xmm5
pxor xmm6, xmm6
pxor xmm7, xmm7
pinsrw xmm0, word [esi + 0x54], 0
pinsrw xmm1, word [esi + 0x2c], 0
pinsrw xmm2, word [esi + 0x76], 0
pinsrw xmm3, word [esi + 0x78], 0
pinsrw xmm0, word [esi + 0x62], 1
pinsrw xmm1, word [esi + 0x1e], 1
pinsrw xmm2, word [esi + 0x68], 1
pinsrw xmm3, word [esi + 0x7a], 1
pinsrw xmm0, word [esi + 0x70], 2
pinsrw xmm1, word [esi + 0x2e], 2
pinsrw xmm2, word [esi + 0x5a], 2
pinsrw xmm3, word [esi + 0x6c], 2
pinsrw xmm0, word [esi + 0x72], 3
pinsrw xmm1, word [esi + 0x3c], 3
pinsrw xmm2, word [esi + 0x4c], 3
pinsrw xmm3, word [esi + 0x5e], 3
pinsrw xmm0, word [esi + 0x64], 4
pinsrw xmm1, word [esi + 0x4a], 4
pinsrw xmm2, word [esi + 0x3e], 4
pinsrw xmm3, word [esi + 0x6e], 4
pinsrw xmm0, word [esi + 0x56], 5
pinsrw xmm1, word [esi + 0x58], 5
pinsrw xmm2, word [esi + 0x4e], 5
pinsrw xmm3, word [esi + 0x7c], 5
pinsrw xmm0, word [esi + 0x48], 6
pinsrw xmm1, word [esi + 0x66], 6
pinsrw xmm2, word [esi + 0x5c], 6
pinsrw xmm3, word [esi + 0x7e], 6
pinsrw xmm0, word [esi + 0x3a], 7
pinsrw xmm1, word [esi + 0x74], 7
pinsrw xmm2, word [esi + 0x6a], 7
pinsrw xmm3, ecx, 7
pcmpgtw xmm4, xmm0
pcmpgtw xmm5, xmm1
pcmpgtw xmm6, xmm2
pcmpgtw xmm7, xmm3
paddw xmm0, xmm4
paddw xmm1, xmm5
paddw xmm2, xmm6
paddw xmm3, xmm7
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm0
pxor xmm5, xmm1
pxor xmm6, xmm2
pxor xmm7, xmm3
movdqa xmmword [esp + 0x58], xmm0
movdqa xmmword [esp + 0x68], xmm1
movdqa xmmword [esp + 0x78], xmm2
movdqa xmmword [esp + 0x88], xmm3
movdqa xmmword [esp + 0xd8], xmm4
movdqa xmmword [esp + 0xe8], xmm5
movdqa xmmword [esp + 0xf8], xmm6
movdqa xmmword [esp + 0x108], xmm7
pxor xmm7, xmm7
movdqa xmm0, xmmword [esp + 0x18]
movdqa xmm1, xmmword [esp + 0x28]
movdqa xmm2, xmmword [esp + 0x38]
movdqa xmm3, xmmword [esp + 0x48]
pcmpeqw xmm0, xmm7
pcmpeqw xmm1, xmm7
pcmpeqw xmm2, xmm7
pcmpeqw xmm3, xmm7
packsswb xmm0, xmm1
packsswb xmm2, xmm3
pmovmskb edx, xmm0
pmovmskb ecx, xmm2
shl ecx, 0x10
or edx, ecx
not edx
lea esi, [esp + 0x18]
mov ebp, dword [esp + 0x11c]
bsf ecx, edx
je 0x430626
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x430545
sub ecx, 0x10
mov dword [esp + 0x124], ecx
mov eax, dword [ebp + 0x3c0]
movzx ecx, byte [ebp + 0x4f0]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x43053c
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x43051c
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430535
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x4304d1
movsx eax, word [esi]
movzx eax, byte [eax + 0x64ffe0]
mov dword [esp + 0x128], eax
shl ecx, 4
add ecx, eax
mov eax, dword [ebp + ecx*4]
movzx ecx, byte [ebp + ecx + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x4305b2
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430592
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4305ab
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
movsx edx, word [esi + 0x80]
mov ecx, dword [esp + 0x128]
mov eax, 1
shl eax, cl
dec eax
and eax, edx
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x430615
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4305f5
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x43060e
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x4304bc
movdqa xmm0, xmmword [esp + 0x58]
movdqa xmm1, xmmword [esp + 0x68]
movdqa xmm2, xmmword [esp + 0x78]
movdqa xmm3, xmmword [esp + 0x88]
pcmpeqw xmm0, xmm7
pcmpeqw xmm1, xmm7
pcmpeqw xmm2, xmm7
pcmpeqw xmm3, xmm7
packsswb xmm0, xmm1
packsswb xmm2, xmm3
pmovmskb edx, xmm0
pmovmskb ecx, xmm2
shl ecx, 0x10
or edx, ecx
not edx
lea eax, [esp + 0x58]
sub eax, esi
shr eax, 1
bsf ecx, edx
je 0x4307f0
shr edx, cl
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x12c], edx
jmp 0x43069e
bsf ecx, edx
je 0x4307f0
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x430712
sub ecx, 0x10
mov dword [esp + 0x124], ecx
mov eax, dword [ebp + 0x3c0]
movzx ecx, byte [ebp + 0x4f0]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x430709
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4306e9
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430702
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x43069e
movsx eax, word [esi]
bsr eax, eax
inc eax
mov dword [esp + 0x128], eax
shl ecx, 4
add ecx, eax
mov eax, dword [ebp + ecx*4]
movzx ecx, byte [ebp + ecx + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x43077c
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x43075c
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430775
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
movsx edx, word [esi + 0x80]
mov ecx, dword [esp + 0x128]
mov eax, 1
shl eax, cl
dec eax
and eax, edx
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x4307df
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4307bf
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x4307d8
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x430689
lea edx, [esp + 0x96]
cmp edx, esi
je 0x430850
mov eax, dword [ebp]
movzx ecx, byte [ebp + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x430850
mov eax, dword [esp + 0x120]
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430830
mov byte [eax], 0
add eax, 1
sub edi, 8
mov edx, ebx
mov ecx, edi
shr edx, cl
mov byte [eax], dl
add eax, 1
cmp dl, 0xff
jne 0x430849
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x120]
pop esi
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edi
pop ebp
pop edi
pop esi
pop ecx
pop ebx
mov esp, ebp
pop esp
pop ebp
ret
push ebp
mov ebp, esp
pop ebp
jmp 0x4300a0