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

Disassembly:
jmp 0x536e60
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 + 0x5eff20]
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 0x536f2a
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 0x536f0a
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 0x536f23
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 0x536f8b
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 0x536f6b
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 0x536f84
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 0x5373e6
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x537305
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 0x5372fc
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 0x5372dc
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 0x5372f5
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x537291
movsx eax, word [esi]
movzx eax, byte [eax + 0x5eff20]
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 0x537372
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 0x537352
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 0x53736b
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 0x5373d5
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 0x5373b5
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 0x5373ce
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x53727c
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 0x5375b0
shr edx, cl
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x12c], edx
jmp 0x53745e
bsf ecx, edx
je 0x5375b0
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x5374d2
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 0x5374c9
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 0x5374a9
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 0x5374c2
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x53745e
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 0x53753c
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 0x53751c
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 0x537535
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 0x53759f
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 0x53757f
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 0x537598
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x537449
lea edx, [esp + 0x96]
cmp edx, esi
je 0x537610
mov eax, dword [ebp]
movzx ecx, byte [ebp + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x537610
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 0x5375f0
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 0x537609
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