Function at 0x561f30
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 eax, dword [ebp + 0xa88]
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
push edi
test al, al
je 0x561fd3
dec ecx
cmp byte [esi + 0x10ded], 0
je 0x561fb1
imul eax, dword [esi + 0x10df0], 0x2c
cmp dword [esi + 0x10df4], 4
mov eax, dword [eax + ebp + 0x10de8]
jae 0x561f9f
cmp eax, 7
mov ebx, edx
mov eax, 8
cmovl ebx, eax
jmp 0x561fbb
cmp eax, 7
mov ebx, 0xa
mov eax, 7
cmovl ebx, eax
jmp 0x561fbb
imul eax, ecx, 0x2c
mov ebx, dword [eax + ebp + 0x10de8]
cmp ebx, 3
jg 0x561fc4
xor ebx, ebx
jmp 0x561fdd
cmp ebx, 9
jg 0x561fce
sub ebx, 3
jmp 0x561fdd
sub ebx, 6
jmp 0x561fdd
imul eax, ecx, 0x2c
mov ebx, dword [eax + ebp + 0x10de8]
mov eax, dword [esp + 0x74]
dec eax
cmp ecx, eax
jne 0x562034
cmp dword [esi + 0x10e00], 0
jne 0x562007
xor eax, eax
cmp ebx, 7
setge al
lea ebx, [eax*2 + 9]
mov dword [esp + 0x18], ebx
jmp 0x562146
cmp ebx, 3
jg 0x562017
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x562146
cmp ebx, 9
jg 0x562028
sub ebx, 3
mov dword [esp + 0x18], ebx
jmp 0x562146
sub ebx, 6
mov dword [esp + 0x18], ebx
jmp 0x562146
cmp byte [esp + 0x12], 0
je 0x562072
cmp byte [esi + 0x10ded], 0
je 0x562072
mov ecx, dword [esi + 0x10df0]
cmp ebx, 7
mov edi, dword [esi + 0x10df4]
mov eax, 8
cmovl edx, eax
mov ebx, edx
mov dword [esp + 0x18], ebx
lea edx, [ecx + 0x623]
cmp edi, 4
jae 0x56211c
jmp 0x562098
mov edi, dword [esi + 0x10e00]
cmp edi, 4
jae 0x562100
cmp ebx, 7
mov eax, 8
cmovl edx, eax
mov ebx, edx
mov dword [esp + 0x18], 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 0x5620d7
imul edx, edx, 0x2c
add edx, ebp
mov ebp, dword [esp + 0x64]
nop dword [eax]
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [ebp + ecx*4], eax
inc ecx
cmp ecx, edi
jbe 0x5620c0
mov ebp, dword [esp + 0x60]
cmp ecx, 4
jae 0x562146
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 0x5620f0
jmp 0x562146
cmp ebx, 7
mov edx, 7
mov eax, 0xa
cmovl eax, edx
lea edx, [ecx + 0x623]
mov ebx, eax
mov dword [esp + 0x18], eax
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 + 0x20], 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 + 0x20]
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.00561800
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 + 0x5b7528]
add ecx, eax
mov dword [esp + 0x34], ecx
cmp ecx, edi
jae 0x562245
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 + 0x5b7528]
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 + 0x5b7528]
add eax, ecx
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x12]
cmp al, dh
jne 0x562308
mov ecx, dword [esp + 0x74]
cmp dword [esi + 0x10e28], ecx
jae 0x5622a9
cmp dword [esi + 0x10e2c], 0
je 0x562308
lea eax, [ebx + 0x364]
shl eax, 4
add eax, dword [esp + 0x20]
movzx eax, word [ebp + eax*2]
shr eax, 4
movzx ecx, byte [eax + 0x5b7528]
movzx eax, word [ebp + ebx*2 + 0x6c38]
add ecx, dword [esp + 0x28]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
add eax, ecx
cmp eax, edi
ja 0x562304
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 ecx, dword [esp + 0x7c]
cmp ecx, 2
jae 0x56231d
mov eax, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov esi, dword [esp + 0x78]
cmp ecx, esi
mov edi, esi
cmovb edi, ecx
mov dword [esp + 0x38], edi
test dl, dl
jne 0x5624ca
cmp al, dh
je 0x5624ca
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ecx, edx
sub ecx, dword [eax]
lea eax, [esi + 1]
dec ecx
cmp dword [esp + 0x7c], eax
cmovb eax, dword [esp + 0x7c]
push eax
push 1
push ecx
push edx
call fcn.00562f10
add esp, 0x10
lea esi, [eax - 1]
cmp esi, 2
jb 0x5624ca
cmp ebx, 3
jg 0x56238f
mov ecx, 0x3550
mov dword [esp + 0x1c], 0x3640
mov edx, 0x6c20
mov dword [esp + 0x24], 0x6c38
jmp 0x5623d9
mov eax, ebx
shl eax, 4
cmp ebx, 9
jg 0x5623b8
lea ecx, [eax + 0x3520]
add eax, 0x3610
mov dword [esp + 0x1c], eax
lea edx, [ebx*2 + 0x6c1a]
lea eax, [ebx*2 + 0x6c32]
jmp 0x5623d5
lea ecx, [eax + 0x34f0]
add eax, 0x35e0
mov dword [esp + 0x1c], 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 + 0x5b7528]
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 + 0x5b7528]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
cmp eax, edx
jae 0x56244f
imul eax, eax, 0x2c
mov ecx, edx
mov dword [esp + 0x14], edx
add eax, 0x10df8
add eax, ebp
sub ecx, dword [esp + 0x6c]
nop
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x562440
mov eax, dword [esp + 0x1c]
add eax, ebx
movzx eax, word [ebp + eax*2]
xor eax, 0x7f0
shr eax, 4
movzx edx, byte [eax + 0x5b7528]
mov eax, dword [esp + 0x24]
movzx eax, word [eax + ebp]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
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 0x5624d2
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 0x5624d2
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x68]
xor ebx, ebx
mov dword [esp + 0x1c], 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 0x56286b
mov ecx, 2
cmp edi, ecx
jbe 0x562535
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 0x5625b5
add ecx, 0x10
add eax, 0x10
cmp ecx, edi
jb 0x562510
mov edx, edi
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x14]
add esi, edx
mov dword [esp + 0x34], esi
cmp edi, esi
jae 0x56256f
imul eax, edi, 0x2c
mov ecx, esi
mov dword [esp + 0x14], esi
add eax, 0x10df8
add eax, ebp
sub ecx, edi
nop dword [eax + eax]
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x562560
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
test ebx, ebx
jne 0x5625c6
lea eax, [edi + 0x364]
shl eax, 4
add eax, dword [esp + 0x20]
movzx eax, word [ebp + eax*2]
xor eax, 0x7f0
shr eax, 4
movzx esi, byte [eax + 0x5b7528]
movzx eax, word [ebp + edi*2 + 0x6c38]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
add esi, eax
jmp 0x562634
bsf eax, edx
mov edx, edi
add ecx, eax
cmp ecx, edi
cmovb edx, ecx
jmp 0x562537
movzx eax, word [ebp + edi*2 + 0x6c38]
xor eax, 0x7f0
shr eax, 4
movzx esi, byte [eax + 0x5b7528]
cmp ebx, 1
jne 0x5625f8
movzx eax, word [ebp + edi*2 + 0x6c50]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
add esi, eax
jmp 0x562634
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 + 0x5b7528]
movzx eax, byte [eax + 0x5b7528]
add esi, eax
add esi, ecx
imul ecx, dword [esp + 0x20], 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 0x56267b
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 0x562667
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
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 + 0x1c], ecx
cmovb esi, dword [esp + 0x7c]
cmp edx, esi
jae 0x5626f1
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 0x5626e5
add ecx, 0x10
add eax, 0x10
cmp ecx, esi
jb 0x5626c0
mov edx, esi
jmp 0x5626f1
bsf eax, edx
mov edx, esi
add ecx, eax
cmp ecx, esi
cmovb edx, ecx
mov ecx, dword [esp + 0x2c]
or eax, 0xffffffff
sub eax, ecx
mov dword [esp + 0x4c], edx
add edx, eax
mov dword [esp + 0x2c], edx
cmp edx, 2
jb 0x562867
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
mov ebx, dword [ebp + 0xa94]
add edi, ecx
movzx eax, byte [ecx + edx]
push eax
mov eax, dword [esp + 0x34]
movzx eax, byte [ecx + eax]
push eax
movzx eax, byte [ecx + edx - 1]
push 1
push eax
push edi
push ebp
call fcn.00561800
mov esi, eax
add esp, 0x18
cmp dword [esp + 0x18], 7
mov eax, 0x35d0
mov ecx, ebx
mov edx, 0x3600
cmovl edx, eax
and ecx, edi
add edx, ecx
inc edi
and edi, ebx
movzx ecx, word [ebp + edx*2]
shr ecx, 4
mov edx, dword [esp + 0x14]
movzx eax, byte [ecx + 0x5b7528]
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 + 0x5b7528]
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 + 0x5b7528]
add ebx, ecx
cmp edx, esi
jae 0x5627df
imul eax, edx, 0x2c
mov ecx, esi
mov dword [esp + 0x14], 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 0x5627d0
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 + 0x5b7528]
add ecx, ebp
movzx eax, word [ebp + 0x6c42]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
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 0x56286b
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 0x56286b
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x24], ebx
cmp ebx, 4
jb 0x5624e4
mov ebx, dword [esp + 0x50]
lea ecx, [ebp + 0x1f8]
mov edx, edi
cmp ebx, edx
jbe 0x5628ab
xor esi, esi
mov ebx, edx
cmp edx, dword [ecx]
jbe 0x56289f
mov eax, ecx
lea eax, [eax + 8]
inc esi
cmp edx, dword [eax]
ja 0x562897
mov dword [ebp + esi*8 + 0x1f8], edx
inc esi
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x1c]
cmp ebx, edi
jb 0x562c6f
mov eax, dword [esp + 0x54]
movzx eax, word [eax]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x74]
lea edx, [ebx + eax]
mov ebx, dword [esp + 0x14]
cmp ebx, edx
jae 0x562909
imul eax, ebx, 0x2c
mov ecx, edx
mov dword [esp + 0x14], edx
add eax, 0x10df8
add eax, ebp
sub ecx, ebx
nop dword [eax]
mov dword [eax + 0x2c], 0x40000000
lea eax, [eax + 0x2c]
sub ecx, 1
jne 0x5628f0
mov eax, dword [esp + 0x74]
lea ecx, [ebp + 0x1f8]
xor esi, esi
mov dword [esp + 0x60], esi
cmp edi, dword [ecx]
jbe 0x56291f
lea ecx, [ecx + 8]
inc esi
cmp edi, dword [ecx]
ja 0x562913
mov dword [esp + 0x60], esi
mov ebx, dword [esp + 0x78]
lea esi, [esi + 0x3f]
add eax, edi
lea ecx, [esi*8]
imul edx, eax, 0x2c
lea esi, [edi - 2]
imul eax, dword [esp + 0x20], 0x110
add ecx, ebp
mov dword [esp + 0x24], ecx
add edx, 0x10df8
add eax, edi
add edx, ebp
lea eax, [eax*4 + 0x7500]
add eax, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
sub eax, ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x68]
sub eax, ebx
mov dword [esp + 0x54], eax
lea eax, [ebx + 1]
mov dword [esp + 0x38], eax
lea eax, [edi - 2]
shl eax, 7
shl esi, 6
mov ebx, dword [ecx + 4]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edx
cmp edi, 6
jb 0x56299c
mov esi, 0xc0
mov eax, 0x180
cmp ebx, 0x80
jae 0x5629af
add eax, ebx
mov ecx, dword [ebp + eax*4 + 0x10594]
jmp 0x562a04
mov eax, ebx
cmp ebx, 0x80000
jae 0x5629ca
shr eax, 6
movzx eax, byte [eax + 0x5b75a8]
add eax, 0x4071
jmp 0x5629f2
cmp ebx, 0x80000000
jae 0x5629e3
shr eax, 0x12
movzx eax, byte [eax + 0x5b75a8]
add eax, 0x4089
jmp 0x5629f2
shr eax, 0x1e
movzx eax, byte [eax + 0x5b75a8]
add eax, 0x40a1
mov ecx, ebx
add eax, esi
and ecx, 0xf
mov ecx, dword [ebp + ecx*4 + 0x10d9c]
add ecx, dword [ebp + eax*4]
mov eax, dword [esp + 0x58]
add eax, ecx
mov ecx, dword [esp + 0x20]
add eax, dword [ecx]
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0x562a2b
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 + 0x24]
cmp edi, dword [ecx]
jne 0x562c4f
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x68]
sub edi, ebx
dec edi
lea ecx, [eax + 1]
mov dword [esp + 0x50], edi
add eax, dword [esp + 0x38]
mov edx, ecx
cmp dword [esp + 0x7c], eax
mov esi, eax
mov dword [esp + 0x64], ecx
cmovb esi, dword [esp + 0x7c]
cmp ecx, esi
jae 0x562aa5
add eax, dword [esp + 0x54]
sub edi, dword [esp + 0x68]
nop word [eax + eax]
movups xmm1, xmmword [edi + eax]
movups xmm0, xmmword [eax]
pcmpeqb xmm1, xmm0
pmovmskb edx, xmm1
xor edx, 0xffff
jne 0x562a95
add ecx, 0x10
add eax, 0x10
cmp ecx, esi
jb 0x562a70
mov edx, esi
jmp 0x562aa1
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 + 0x48], edx
sub eax, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x44], edx
cmp edx, 2
jb 0x562c2b
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
dec eax
mov edi, dword [esp + 0x1c]
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 + 0x54]
movzx eax, byte [eax + edi]
push eax
mov eax, dword [esp + 0x70]
push 1
movzx eax, byte [edx + eax - 2]
push eax
push ecx
push ebp
call fcn.00561800
add esp, 0x18
mov edx, 0x35c0
cmp dword [esp + 0x18], 7
mov ecx, 0x35f0
cmovl ecx, edx
add eax, dword [esp + 0x4c]
add ecx, esi
movzx ecx, word [ebp + ecx*2]
shr ecx, 4
movzx edx, byte [ecx + 0x5b7528]
add edx, eax
lea eax, [esi + 1]
and eax, dword [ebp + 0xa94]
mov esi, dword [esp + 0x48]
add esi, dword [esp + 0x74]
mov dword [esp + 0x50], eax
movzx eax, word [ebp + eax*2 + 0x6b20]
xor eax, 0x7f0
shr eax, 4
movzx ecx, byte [eax + 0x5b7528]
movzx eax, word [ebp + 0x6c28]
add ecx, edx
mov edx, dword [esp + 0x14]
xor eax, 0x7f0
shr eax, 4
movzx edi, byte [eax + 0x5b7528]
add edi, ecx
cmp edx, esi
jae 0x562b9f
imul eax, edx, 0x2c
mov ecx, esi
mov dword [esp + 0x14], 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 0x562b90
mov ecx, dword [esp + 0x50]
movzx eax, word [ebp + ecx*2 + 0x6d00]
xor eax, 0x7f0
shr eax, 4
movzx edx, byte [eax + 0x5b7528]
movzx eax, word [ebp + 0x6c40]
shr eax, 4
movzx eax, byte [eax + 0x5b7528]
add edx, eax
imul eax, ecx, 0x110
imul ecx, esi, 0x2c
add eax, dword [esp + 0x44]
add ecx, ebp
add edx, dword [ebp + eax*4 + 0xbd48]
add edx, edi
cmp edx, dword [ecx + 0x10df8]
jae 0x562c2b
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x28]
mov dword [ecx + 0x10dfc], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x10df0], eax
lea eax, [ebx + 4]
mov dword [ecx + 0x10df8], edx
mov dword [ecx + 0x10e00], 0
mov word [ecx + 0x10dec], 0x101
mov dword [ecx + 0x10df4], eax
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
inc esi
add ecx, 8
mov dword [esp + 0x60], esi
mov dword [esp + 0x24], ecx
cmp esi, dword [esp + 0x40]
je 0x562c6f
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
jmp 0x562c50
inc edi
mov esi, dword [esp + 0x30]
add edx, 0x2c
mov eax, dword [esp + 0x2c]
add esi, 0x40
add dword [esp + 0x20], 4
sub eax, 0xffffff80
mov dword [esp + 0x1c], edi
jmp 0x56297e
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret