Function at 0x410d90
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 + 0x619600]
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 0x410e5a
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 0x410e3a
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 0x410e53
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 0x410ebb
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 0x410e9b
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 0x410eb4
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 0x411316
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x411235
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 0x41122c
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 0x41120c
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 0x411225
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x4111c1
movsx eax, word [esi]
movzx eax, byte [eax + 0x619600]
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 0x4112a2
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 0x411282
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 0x41129b
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 0x411305
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 0x4112e5
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 0x4112fe
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x4111ac
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 0x4114e0
shr edx, cl
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x12c], edx
jmp 0x41138e
bsf ecx, edx
je 0x4114e0
lea esi, [esi + ecx*2]
shr edx, cl
mov dword [esp + 0x12c], edx
cmp ecx, 0x10
jl 0x411402
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 0x4113f9
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 0x4113d9
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 0x4113f2
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x124]
jmp 0x41138e
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 0x41146c
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 0x41144c
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 0x411465
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 0x4114cf
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 0x4114af
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 0x4114c8
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x12c]
add esi, 2
shr edx, 1
jmp 0x411379
lea edx, [esp + 0x96]
cmp edx, esi
je 0x411540
mov eax, dword [ebp]
movzx ecx, byte [ebp + 0x400]
add edi, ecx
shl ebx, cl
or ebx, eax
cmp edi, 0x10
jl 0x411540
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 0x411520
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 0x411539
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