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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x58]
mov edx, 0xb
push esi
imul esi, dword [esp + 0x70], 0x2c
add esi, ebp
mov dword [esp + 0x38], 8
mov eax, dword [ebp + 0xa88]
lea ebx, [edx - 1]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xa8c]
mov ecx, dword [esi + 0x10dfc]
mov dword [esp + 0x4c], eax
mov al, byte [esi + 0x10dec]
mov byte [esp + 0xe], al
mov dword [esp + 0x1c], 7
push edi
test al, al
je 0x1011551b
dec ecx
cmp byte [esi + 0x10ded], 0
je 0x101154f3
imul eax, dword [esi + 0x10df0], 0x2c
cmp dword [esi + 0x10df4], 4
mov eax, dword [eax + ebp + 0x10de8]
mov dword [esp + 0x24], eax
jae 0x101154e5
cmp dword [esp + 0x24], 7
mov eax, edx
cmovl eax, dword [esp + 0x3c]
jmp 0x101154fd
cmp dword [esp + 0x24], 7
mov eax, ebx
cmovl eax, dword [esp + 0x20]
jmp 0x101154fd
imul eax, ecx, 0x2c
mov eax, dword [eax + ebp + 0x10de8]
cmp eax, 3
jg 0x1011550c
mov dword [esp + 0x14], 0
jmp 0x10115529
cmp eax, 9
jg 0x10115516
sub eax, 3
jmp 0x10115525
sub eax, 6
jmp 0x10115525
imul eax, ecx, 0x2c
mov eax, dword [eax + ebp + 0x10de8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
dec eax
cmp ecx, eax
jne 0x10115586
cmp dword [esi + 0x10e00], 0
jne 0x10115555
xor eax, eax
cmp dword [esp + 0x14], 7
setge al
lea ebx, [eax*2 + 9]
mov dword [esp + 0x14], ebx
jmp 0x1011568e
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jg 0x10115569
xor ebx, ebx
mov dword [esp + 0x14], ebx
jmp 0x1011568e
cmp ebx, 9
jg 0x1011557a
sub ebx, 3
mov dword [esp + 0x14], ebx
jmp 0x1011568e
sub ebx, 6
mov dword [esp + 0x14], ebx
jmp 0x1011568e
cmp byte [esp + 0x12], 0
je 0x101155c6
cmp byte [esi + 0x10ded], 0
je 0x101155c6
cmp dword [esp + 0x14], 7
mov eax, 8
mov ecx, dword [esi + 0x10df0]
mov edi, dword [esi + 0x10df4]
cmovl edx, eax
mov ebx, edx
mov dword [esp + 0x14], ebx
lea edx, [ecx + 0x623]
cmp edi, 4
jae 0x10115664
jmp 0x101155ea
mov edi, dword [esi + 0x10e00]
cmp edi, 4
jae 0x10115650
cmp dword [esp + 0x14], 7
mov eax, 8
cmovl edx, eax
mov ebx, edx
mov dword [esp + 0x14], edx
lea edx, [ecx + 0x623]
mov ecx, dword [esp + 0x64]
imul eax, edx, 0xb
mov dword [esp + 0x3c], eax
add eax, edi
mov eax, dword [ebp + eax*4]
mov dword [ecx], eax
mov ecx, 1
cmp edi, ecx
jb 0x10115627
imul edx, edx, 0x2c
add edx, ebp
mov ebp, dword [esp + 0x64]
nop
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [ebp + ecx*4], eax
inc ecx
cmp ecx, edi
jbe 0x10115610
mov ebp, dword [esp + 0x60]
cmp ecx, 4
jae 0x1011568e
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x64]
add eax, ecx
lea edx, [eax*4]
add edx, ebp
nop word [eax + eax]
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, 4
jb 0x10115640
jmp 0x1011568e
cmp dword [esp + 0x14], 7
lea edx, [ecx + 0x623]
cmovl ebx, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
imul ecx, ecx, 0x2c
lea eax, [edi - 4]
mov edi, dword [esp + 0x64]
mov dword [edi], eax
mov eax, dword [ecx + ebp + 0x10e04]
mov dword [edi + 4], eax
imul eax, edx, 0x2c
mov eax, dword [eax + ebp + 4]
mov dword [edi + 8], eax
mov eax, dword [ecx + ebp + 0x10e0c]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x74]
add eax, 0x623
mov edx, dword [esp + 0x64]
imul ecx, eax, 0x2c
mov eax, dword [esp + 0x64]
mov dword [esi + 0x10de8], ebx
mov eax, dword [eax]
mov dword [ecx + ebp], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 4]
mov dword [esi + 0x10e08], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x10e0c], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x10e10], eax
mov eax, dword [esp + 0x68]
mov edi, dword [esi + 0x10df8]
mov dword [esp + 0x38], edi
mov cl, byte [eax]
sub eax, dword [edx]
mov byte [esp + 0x13], cl
mov dl, byte [eax - 1]
mov eax, dword [ebp + 0xa94]
and eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
dec eax
mov byte [esp + 0x12], dl
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x355]
shl eax, 4
add eax, dword [esp + 0x1c]
lea eax, [eax*2]
add eax, ebp
cmp ebx, 7
mov dword [esp + 0x24], eax
movzx eax, cl
push eax
movzx eax, dl
push eax
setge al
movzx eax, al
push eax
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
push eax
push dword [esp + 0x80]
push ebp
call fcn.10114d60
mov ecx, dword [esp + 0x3c]
add eax, edi
mov edi, dword [esi + 0x10e24]
add esp, 0x18
xor dl, dl
movzx ecx, word [ecx]
shr ecx, 4
movzx ecx, byte [ecx + 0x101d77a8]
add ecx, eax
mov dword [esp + 0x34], ecx
cmp ecx, edi
jae 0x1011578d
mov eax, dword [esp + 0x74]
mov edi, ecx
mov dword [esi + 0x10e24], ecx
mov dword [esi + 0x10e28], eax
mov byte [esi + 0x10e18], dl
mov dl, 1
mov dword [esi + 0x10e2c], 0xffffffff
mov eax, dword [esp + 0x24]
mov dh, byte [esp + 0x13]
movzx eax, word [eax]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [eax + 0x101d77a8]
lea eax, [ebx*2 + 0x6c20]
add ecx, dword [esp + 0x38]
add eax, ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
movzx eax, word [eax]
xor eax, 0x7f0
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add eax, ecx
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x12]
cmp al, dh
jne 0x10115850
mov ecx, dword [esp + 0x74]
cmp dword [esi + 0x10e28], ecx
jae 0x101157f1
cmp dword [esi + 0x10e2c], 0
je 0x10115850
lea eax, [ebx + 0x364]
shl eax, 4
add eax, dword [esp + 0x1c]
movzx eax, word [ebp + eax*2]
shr eax, 4
movzx ecx, byte [eax + 0x101d77a8]
movzx eax, word [ebp + ebx*2 + 0x6c38]
add ecx, dword [esp + 0x28]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add eax, ecx
cmp eax, edi
ja 0x1011584c
mov dword [esi + 0x10e24], eax
mov dl, 1
mov eax, dword [esp + 0x74]
mov dword [esi + 0x10e28], eax
mov dword [esi + 0x10e2c], 0
mov byte [esi + 0x10e18], 0
mov al, byte [esp + 0x12]
mov esi, dword [esp + 0x7c]
cmp esi, 2
jae 0x10115865
mov eax, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edi, dword [esp + 0x78]
cmp esi, edi
cmovb edi, esi
mov dword [esp + 0x38], edi
test dl, dl
jne 0x10115a0d
cmp al, dh
je 0x10115a0d
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [esp + 0x78]
dec ecx
inc eax
cmp esi, eax
cmovb eax, esi
push eax
push 1
push ecx
push edx
call fcn.10116460
add esp, 0x10
lea esi, [eax - 1]
cmp esi, 2
jb 0x10115a0d
cmp ebx, 3
jg 0x101158d3
mov ecx, 0x3550
mov dword [esp + 0x20], 0x3640
mov edx, 0x6c20
mov dword [esp + 0x24], 0x6c38
jmp 0x1011591d
mov eax, ebx
shl eax, 4
cmp ebx, 9
jg 0x101158fc
lea ecx, [eax + 0x3520]
add eax, 0x3610
mov dword [esp + 0x20], eax
lea edx, [ebx*2 + 0x6c1a]
lea eax, [ebx*2 + 0x6c32]
jmp 0x10115919
lea ecx, [eax + 0x34f0]
add eax, 0x35e0
mov dword [esp + 0x20], eax
lea edx, [ebx*2 + 0x6c14]
lea eax, [ebx*2 + 0x6c2c]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x70]
inc ebx
and ebx, dword [ebp + 0xa94]
lea eax, [ecx + ebx]
movzx eax, word [ebp + eax*2]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [eax + 0x101d77a8]
movzx eax, word [edx + ebp]
add ecx, dword [esp + 0x34]
xor eax, 0x7f0
mov edx, dword [esp + 0x74]
shr eax, 4
inc edx
add edx, esi
movzx eax, byte [eax + 0x101d77a8]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
cmp eax, edx
jae 0x10115992
imul eax, eax, 0x2c
mov ecx, edx
mov dword [esp + 0x18], edx
add eax, 0x10df8
add eax, ebp
sub ecx, dword [esp + 0x6c]
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x10115983
mov eax, dword [esp + 0x20]
add eax, ebx
movzx eax, word [ebp + eax*2]
xor eax, 0x7f0
shr eax, 4
movzx edx, byte [eax + 0x101d77a8]
mov eax, dword [esp + 0x24]
movzx eax, word [eax + ebp]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add edx, eax
imul eax, ebx, 0x110
mov ebx, dword [esp + 0x74]
add eax, esi
add edx, dword [ebp + eax*4 + 0xbd48]
lea eax, [ebx + 1]
add edx, dword [esp + 0x34]
add eax, esi
imul ecx, eax, 0x2c
add ecx, ebp
cmp edx, dword [ecx + 0x10df8]
jae 0x10115a15
lea eax, [ebx + 1]
mov dword [ecx + 0x10df8], edx
mov dword [ecx + 0x10dfc], eax
mov dword [ecx + 0x10e00], 0
mov word [ecx + 0x10dec], 1
jmp 0x10115a15
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x68]
xor ebx, ebx
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x64]
mov edx, esi
sub edx, dword [eax + ebx*4]
mov ax, word [esi]
dec edx
mov dword [esp + 0x30], edx
cmp ax, word [edx]
jne 0x10115dab
mov ecx, 2
cmp edi, ecx
jbe 0x10115a78
lea eax, [esi + 2]
mov esi, edx
sub esi, dword [esp + 0x68]
movups xmm1, xmmword [esi + eax]
movups xmm0, xmmword [eax]
pcmpeqb xmm1, xmm0
pmovmskb edx, xmm1
xor edx, 0xffff
jne 0x10115af5
add ecx, 0x10
add eax, 0x10
cmp ecx, edi
jb 0x10115a53
mov edx, edi
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
add esi, edx
mov dword [esp + 0x34], esi
cmp edi, esi
jae 0x10115aaf
imul eax, edi, 0x2c
mov ecx, esi
mov dword [esp + 0x18], esi
add eax, 0x10df8
add eax, ebp
sub ecx, edi
nop
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x10115aa0
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
test ebx, ebx
jne 0x10115b06
lea eax, [edi + 0x364]
shl eax, 4
add eax, dword [esp + 0x1c]
movzx eax, word [ebp + eax*2]
xor eax, 0x7f0
shr eax, 4
movzx esi, byte [eax + 0x101d77a8]
movzx eax, word [ebp + edi*2 + 0x6c38]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add esi, eax
jmp 0x10115b74
bsf eax, edx
mov edx, edi
add ecx, eax
cmp ecx, edi
cmovb edx, ecx
jmp 0x10115a7a
movzx eax, word [ebp + edi*2 + 0x6c38]
xor eax, 0x7f0
shr eax, 4
movzx esi, byte [eax + 0x101d77a8]
cmp ebx, 1
jne 0x10115b38
movzx eax, word [ebp + edi*2 + 0x6c50]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add esi, eax
jmp 0x10115b74
movzx ecx, word [ebp + edi*2 + 0x6c68]
mov eax, 2
sub eax, ebx
shr ecx, 4
shr eax, 4
and eax, 0x7f
xor ecx, eax
movzx eax, word [ebp + edi*2 + 0x6c50]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [ecx + 0x101d77a8]
movzx eax, byte [eax + 0x101d77a8]
add esi, eax
add esi, ecx
imul ecx, dword [esp + 0x1c], 0x110
imul eax, dword [esp + 0x34], 0x2c
mov edi, dword [esp + 0x28]
add edi, esi
mov dword [esp + 0x48], edi
add ecx, edx
add eax, 0x10df8
add eax, ebp
lea ecx, [ecx*4 + 0xbd48]
add ecx, ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov esi, ecx
mov ecx, dword [esi]
add ecx, edi
cmp ecx, dword [eax]
jae 0x10115bbb
mov dword [eax], ecx
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov byte [eax - 0xc], 0
dec edx
sub esi, 4
sub eax, 0x2c
cmp edx, 2
jae 0x10115ba7
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
inc edx
mov esi, dword [esp + 0x78]
test ebx, ebx
mov ebp, dword [esp + 0x60]
cmove ecx, edx
add esi, edx
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x20], ecx
cmovb esi, dword [esp + 0x7c]
cmp edx, esi
jae 0x10115c31
mov eax, dword [esp + 0x68]
mov ecx, edx
mov edi, dword [esp + 0x30]
add eax, edx
sub edi, dword [esp + 0x68]
movups xmm1, xmmword [eax + edi]
movups xmm0, xmmword [eax]
pcmpeqb xmm1, xmm0
pmovmskb edx, xmm1
xor edx, 0xffff
jne 0x10115c25
add ecx, 0x10
add eax, 0x10
cmp ecx, esi
jb 0x10115c00
mov edx, esi
jmp 0x10115c31
bsf eax, edx
mov edx, esi
add ecx, eax
cmp ecx, esi
cmovb edx, ecx
mov esi, dword [esp + 0x2c]
or eax, 0xffffffff
sub eax, esi
mov dword [esp + 0x4c], edx
add edx, eax
mov dword [esp + 0x2c], edx
cmp edx, 2
jb 0x10115da7
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
mov ebx, dword [ebp + 0xa94]
add edi, esi
movzx eax, byte [esi + ecx]
push eax
mov eax, dword [esp + 0x34]
movzx eax, byte [esi + eax]
push eax
movzx eax, byte [esi + ecx - 1]
push 1
push eax
push edi
push ebp
call fcn.10114d60
mov esi, eax
mov edx, ebx
and edx, edi
add esp, 0x18
cmp dword [esp + 0x14], 7
mov eax, 0x35d0
mov ecx, 0x3600
cmovl ecx, eax
inc edi
add edx, ecx
and edi, ebx
movzx ecx, word [ebp + edx*2]
shr ecx, 4
mov edx, dword [esp + 0x18]
movzx eax, byte [ecx + 0x101d77a8]
add esi, eax
mov eax, dword [esp + 0x44]
add esi, dword [eax]
movzx eax, word [ebp + edi*2 + 0x6b40]
add esi, dword [esp + 0x48]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [eax + 0x101d77a8]
movzx eax, word [ebp + 0x6c2a]
add ecx, esi
mov esi, dword [esp + 0x4c]
xor eax, 0x7f0
add esi, dword [esp + 0x74]
shr eax, 4
movzx ebx, byte [eax + 0x101d77a8]
add ebx, ecx
cmp edx, esi
jae 0x10115d1f
imul eax, edx, 0x2c
mov ecx, esi
mov dword [esp + 0x18], esi
add eax, 0x10df8
add eax, ebp
sub ecx, edx
nop dword [eax + eax]
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x10115d10
movzx eax, word [ebp + edi*2 + 0x6d20]
xor eax, 0x7f0
imul ecx, esi, 0x2c
shr eax, 4
mov esi, dword [esp + 0x68]
movzx edx, byte [eax + 0x101d77a8]
add ecx, ebp
movzx eax, word [ebp + 0x6c42]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add edx, eax
imul eax, edi, 0x110
add eax, dword [esp + 0x2c]
add edx, dword [ebp + eax*4 + 0xbd48]
add edx, ebx
mov ebx, dword [esp + 0x24]
cmp edx, dword [ecx + 0x10df8]
jae 0x10115dab
mov eax, dword [esp + 0x34]
inc eax
mov dword [ecx + 0x10df8], edx
mov dword [ecx + 0x10dfc], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x10e00], 0
mov word [ecx + 0x10dec], 0x101
mov dword [ecx + 0x10df0], eax
mov dword [ecx + 0x10df4], ebx
jmp 0x10115dab
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x24], ebx
cmp ebx, 4
jb 0x10115a27
mov ebx, dword [esp + 0x50]
lea ecx, [ebp + 0x1f8]
mov edx, edi
cmp ebx, edx
jbe 0x10115deb
xor esi, esi
mov ebx, edx
cmp edx, dword [ecx]
jbe 0x10115ddf
mov eax, ecx
lea eax, [eax + 8]
inc esi
cmp edx, dword [eax]
ja 0x10115dd7
mov dword [ebp + esi*8 + 0x1f8], edx
inc esi
mov dword [esp + 0x40], esi
cmp ebx, dword [esp + 0x20]
jb 0x101161b5
mov eax, dword [esp + 0x54]
movzx eax, word [eax]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x74]
lea edx, [ebx + eax]
mov ebx, dword [esp + 0x18]
cmp ebx, edx
jae 0x10115e49
imul eax, ebx, 0x2c
mov ecx, edx
mov dword [esp + 0x18], edx
add eax, 0x10df8
add eax, ebp
sub ecx, ebx
nop
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x10115e30
mov eax, dword [esp + 0x74]
lea ecx, [ebp + 0x1f8]
mov ebx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x24], edi
cmp ebx, dword [ecx]
jbe 0x10115e63
lea ecx, [ecx + 8]
inc edi
cmp ebx, dword [ecx]
ja 0x10115e57
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x78]
lea edx, [ebx + 1]
add eax, ebx
mov dword [esp + 0x64], edx
imul edx, eax, 0x2c
lea edi, [edi + 0x3f]
imul eax, dword [esp + 0x1c], 0x110
lea ecx, [edi*8]
mov edi, dword [esp + 0x78]
inc esi
add esi, ebx
add ecx, ebp
mov dword [esp + 0x20], ecx
add edx, 0x10df8
add eax, ebx
add edx, ebp
mov ebx, dword [esp + 0x74]
sub ebx, edi
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x68]
lea eax, [eax*4 + 0x7500]
sub ebx, edi
add eax, ebp
mov dword [esp + 0x50], ebx
mov ebx, 0xfffffffd
sub ebx, edi
not edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x78], edi
mov ebx, dword [ecx + 4]
add edi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], edi
cmp edi, 6
jae 0x10115eec
mov ecx, dword [esp + 0x58]
add ecx, esi
jmp 0x10115ef1
mov ecx, 3
cmp ebx, 0x80
jae 0x10115f07
shl ecx, 7
add ecx, ebx
mov ecx, dword [ebp + ecx*4 + 0x10594]
jmp 0x10115f60
mov eax, ebx
cmp ebx, 0x80000
jae 0x10115f20
shr eax, 6
movzx eax, byte [eax + 0x101d7828]
add eax, 0xc
jmp 0x10115f44
cmp ebx, 0x80000000
jae 0x10115f37
shr eax, 0x12
movzx eax, byte [eax + 0x101d7828]
add eax, 0x24
jmp 0x10115f44
shr eax, 0x1e
movzx eax, byte [eax + 0x101d7828]
add eax, 0x3c
shl ecx, 6
add ecx, eax
mov eax, ebx
and eax, 0xf
mov ecx, dword [ebp + ecx*4 + 0x10194]
add ecx, dword [ebp + eax*4 + 0x10d9c]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
add eax, ecx
add eax, dword [esp + 0x54]
mov dword [esp + 0x48], eax
cmp eax, dword [edx]
jae 0x10115f83
mov dword [edx], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 4], eax
lea eax, [ebx + 4]
mov dword [edx + 8], eax
mov byte [edx - 0xc], 0
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx]
jne 0x1011619d
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
sub edi, ebx
mov ecx, dword [esp + 0x64]
dec edi
cmp dword [esp + 0x7c], eax
mov edx, ecx
mov dword [esp + 0x4c], edi
cmovb esi, dword [esp + 0x7c]
cmp ecx, esi
jae 0x10115ff5
add eax, dword [esp + 0x50]
sub edi, dword [esp + 0x68]
nop dword [eax]
movups xmm1, xmmword [edi + eax]
movups xmm0, xmmword [eax]
pcmpeqb xmm1, xmm0
pmovmskb edx, xmm1
xor edx, 0xffff
jne 0x10115fe5
add ecx, 0x10
add eax, 0x10
cmp ecx, esi
jb 0x10115fc0
mov edx, esi
jmp 0x10115ff1
bsf eax, edx
mov edx, esi
add ecx, eax
cmp ecx, esi
cmovb edx, ecx
mov ecx, dword [esp + 0x64]
or eax, 0xffffffff
mov dword [esp + 0x44], edx
sub eax, dword [esp + 0x38]
add edx, eax
mov dword [esp + 0x30], edx
cmp edx, 2
jb 0x1011617b
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
dec eax
mov edi, dword [esp + 0x38]
add ecx, eax
mov eax, dword [esp + 0x3c]
mov esi, dword [ebp + 0xa94]
and esi, ecx
movzx eax, byte [edx + eax]
push eax
mov eax, dword [esp + 0x50]
movzx eax, byte [edi + eax]
push eax
mov eax, dword [esp + 0x70]
push 1
movzx eax, byte [edx + eax - 2]
push eax
push ecx
push ebp
call fcn.10114d60
add esp, 0x18
mov edx, 0x35c0
cmp dword [esp + 0x14], 7
mov ecx, 0x35f0
cmovl ecx, edx
add eax, dword [esp + 0x48]
add ecx, esi
movzx ecx, word [ebp + ecx*2]
shr ecx, 4
movzx edx, byte [ecx + 0x101d77a8]
add edx, eax
lea eax, [esi + 1]
and eax, dword [ebp + 0xa94]
mov esi, dword [esp + 0x44]
add esi, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
movzx eax, word [ebp + eax*2 + 0x6b20]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [eax + 0x101d77a8]
movzx eax, word [ebp + 0x6c28]
add ecx, edx
mov edx, dword [esp + 0x18]
xor eax, 0x7f0
shr eax, 4
movzx edi, byte [eax + 0x101d77a8]
add edi, ecx
cmp edx, esi
jae 0x101160ef
imul eax, edx, 0x2c
mov ecx, esi
mov dword [esp + 0x18], esi
add eax, 0x10df8
add eax, ebp
sub ecx, edx
nop word [eax + eax]
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x101160e0
mov ecx, dword [esp + 0x4c]
movzx eax, word [ebp + ecx*2 + 0x6d00]
xor eax, 0x7f0
shr eax, 4
movzx edx, byte [eax + 0x101d77a8]
movzx eax, word [ebp + 0x6c40]
shr eax, 4
movzx eax, byte [eax + 0x101d77a8]
add edx, eax
imul eax, ecx, 0x110
imul ecx, esi, 0x2c
mov esi, dword [esp + 0x60]
add eax, dword [esp + 0x30]
add ecx, ebp
add edx, dword [ebp + eax*4 + 0xbd48]
add edx, edi
cmp edx, dword [ecx + 0x10df8]
jae 0x1011617f
mov eax, dword [esp + 0x2c]
add eax, esi
mov dword [ecx + 0x10df8], edx
mov dword [ecx + 0x10dfc], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x10df0], eax
lea eax, [ebx + 4]
mov dword [ecx + 0x10e00], 0
mov word [ecx + 0x10dec], 0x101
mov dword [ecx + 0x10df4], eax
jmp 0x1011617f
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc edi
add ecx, 8
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ecx
cmp edi, dword [esp + 0x40]
je 0x101161b5
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
add edx, 0x2c
inc dword [esp + 0x64]
add eax, 4
mov edi, dword [esp + 0x78]
inc esi
jmp 0x10115eca
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret