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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
push edi
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x50]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0x3c]
lea ecx, [edi + 0x58]
mov dword [esp + 0x40], 0
mov dword [esp + 0x70], ecx
lea ecx, [eax + eax*8]
mov eax, dword [edi + 4]
lea eax, [eax + ecx*8]
add eax, 8
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x34], eax
cmp dword [edi + 0x200], eax
jne 0x101b3b76
mov ecx, 1
xor edx, edx
jmp 0x101b3bb8
mov edx, dword [edi + 0x1fc]
mov eax, 1
cmp edx, eax
jle 0x101b3ba7
lea ecx, [edi + 0x204]
nop dword [eax + eax]
mov esi, dword [esp + 0x34]
cmp dword [ecx], esi
mov esi, dword [ebp + 0x10]
je 0x101b3cbf
inc eax
add ecx, 4
cmp eax, edx
jl 0x101b3b90
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
not ecx
not edx
and ecx, dword [ebp + 0x14]
and edx, dword [ebp + 0x18]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edx
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov eax, dword [edi + 0x50]
mov edx, dword [edi + 0x54]
call fcn.10247330
mov edx, dword [esp + 0x10]
and eax, 1
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov edi, dword [edx + 0x38]
dec edi
mov dword [edx + 0x38], edi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0xc], edi
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x64], edi
mov dword [edx + 0x38], eax
cmp byte [ecx + 0x3c], 0
mov dword [esp + 0x84], eax
mov dword [ecx + 0x18], eax
jbe 0x101b3c37
mov eax, dword [esp + 0x74]
test byte [eax + 0x24], 8
je 0x101b3c37
mov eax, dword [edx + 0x2c]
inc eax
push 0
mov dword [edx + 0x2c], eax
mov edx, 0x47
push eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
push 0
call fcn.10210cb0
add esp, 0xc
mov ecx, esi
test esi, esi
jle 0x101b3c63
mov edx, dword [ebp + 8]
lea eax, [esi + esi*2]
shl eax, 5
add edx, 0x338
add eax, edx
nop
cmp dword [eax - 0x38], 0
jne 0x101b3c63
cmp dword [eax], 0
jne 0x101b3c63
dec ecx
sub eax, 0x60
test ecx, ecx
jg 0x101b3c50
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
shl eax, 5
mov esi, dword [eax + ecx + 0x30c]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
test byte [eax + 0x28], 0x20
je 0x101b3cd9
push dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov edx, 0xa
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.10210cb0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, 0xb
push 0
push edi
push esi
call fcn.10210cb0
mov edi, dword [ebp + 0x10]
add esp, 0xc
mov dword [edi + 0x44], eax
mov byte [edi + 0x3d], 8
jmp 0x101b569c
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x101b3bb8
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x2c]
test edx, 0x400
je 0x101b40d8
movzx eax, word [edi + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
lea edx, [eax + 2]
call fcn.101efd90
mov edx, dword [ebp + 0x10]
xor esi, esi
mov edi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edi
lea ecx, [esi + 1]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x14], esi
jbe 0x101b3dc2
mov eax, dword [esp + 0x20]
nop word [eax + eax]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x5c], edx
test edx, edx
je 0x101b3f42
test byte [edx + 0xc], 1
je 0x101b3eea
mov eax, ecx
mov ecx, esi
shl eax, cl
xor ecx, ecx
cmp esi, 0x1f
cmovg eax, ecx
mov ecx, dword [esp + 0x20]
test dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x10]
je 0x101b3ec5
mov edi, dword [ecx + 0x28]
inc dword [ecx + 0x2c]
mov esi, dword [ecx + 0x2c]
push edi
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
mov edx, dword [edx]
call fcn.101f4ce0
mov eax, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0xc]
add eax, 2
mov edx, 0xae
push esi
mov esi, dword [esp + 0x28]
add eax, esi
push eax
push edi
call fcn.10210cb0
mov edi, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, 1
inc esi
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x14]
jl 0x101b3d30
mov esi, dword [esp + 0x20]
mov edx, 0x47
mov ecx, dword [esp + 0xc]
push 0
push edi
push dword [esi + 0x18]
call fcn.10210cb0
mov ecx, dword [esp + 0x18]
lea eax, [edi + 1]
add esp, 0xc
mov edx, 0x47
push 0
push eax
push dword [esp + 0x1c]
call fcn.10210cb0
mov ecx, dword [esp + 0x18]
add esp, 0xc
test byte [esi + 0x1c], 1
mov eax, 0xfffffffa
mov esi, dword [esi + 0x24]
mov edi, 0xffffffff
cmovne edi, eax
mov edx, 6
mov eax, dword [esp + 0x1c]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x3c]
call fcn.10210cb0
add esp, 0xc
mov edx, eax
push edi
mov edi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.1020fd40
mov esi, dword [esp + 0x28]
add esp, 8
mov ecx, dword [esp + 0x50]
and dword [esi + 0x1c], 0xfffffffe
cmp byte [ecx + 0x57], 0
je 0x101b3e55
mov dword [esi + 0x24], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x40], eax
mov eax, 0x3e
cmp byte [edx + 0x32], 0
mov edx, 0xb8
cmovne eax, edx
mov byte [ecx + 0x3d], al
mov eax, dword [edi + 0x6c]
xor edi, edi
mov dword [ecx + 0x44], eax
cmp dword [esp + 0x14], edi
jbe 0x101b569a
mov eax, dword [esp + 0x1c]
add eax, 2
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x38]
mov edx, dword [eax + edi*4]
mov dword [esp + 0x5c], edx
cmp edi, 0x10
jge 0x101b3f4b
mov ax, word [esi + 0x22]
mov cx, di
shr ax, cl
test al, 1
je 0x101b3f4b
mov ecx, dword [ebp + 0x10]
call fcn.101b7350
jmp 0x101b40c5
lea eax, [esi + 2]
add eax, edi
push eax
push dword [esp + 0x40]
push esi
push dword [ebp + 0x10]
call fcn.101b69f0
mov eax, dword [ebp + 0x10]
add esp, 0x10
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x28], ecx
jmp 0x101b3daa
mov edx, dword [edx]
lea eax, [esi + 2]
mov ecx, dword [esp + 0x10]
add eax, edi
push 1
push eax
mov edx, dword [edx + 0x10]
call fcn.101b6390
mov eax, dword [esp + 0x64]
add esp, 8
cmp byte [eax + 0xf], 0x4a
mov eax, dword [esp + 0x20]
jne 0x101b3dae
test byte [eax + 0x1c], 2
je 0x101b3dae
mov eax, dword [ebp + 8]
mov edx, 0x47
mov ecx, dword [esp + 0xc]
push 0
mov eax, dword [eax + 0x14]
push dword [eax + 0xc]
push 0
call fcn.10210cb0
add esp, 0xc
jmp 0x101b3daa
mov eax, dword [esp + 0x20]
jmp 0x101b3db3
test byte [edx + 0xc], 1
je 0x101b40c5
mov ecx, edi
mov eax, 1
shl eax, cl
xor ecx, ecx
cmp edi, 0x1f
cmovg eax, ecx
test dword [esi + 0x28], eax
jne 0x101b40c5
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x57], cl
jne 0x101b40c5
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x24], ecx
cmp dword [esi + 0x48], ecx
jle 0x101b4016
mov ecx, dword [esp + 0xc]
mov esi, dword [esi + 0x4c]
add esi, 4
mov eax, dword [ecx]
mov dh, byte [eax + 0x57]
nop dword [eax + eax]
mov eax, dword [esi]
test eax, eax
jns 0x101b3faa
mov eax, dword [ecx + 0x6c]
dec eax
test dh, dh
je 0x101b3fb5
mov ecx, 0x103210d8
jmp 0x101b3fc2
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x68]
lea ecx, [eax + ecx*4]
mov dl, byte [ecx]
cmp dl, 0x5e
jne 0x101b3fd4
mov eax, dword [esp + 0x28]
add eax, edi
cmp dword [ecx + 0xc], eax
jmp 0x101b3fe2
cmp dl, 0x87
jne 0x101b3fe4
mov eax, dword [esp + 0x28]
add eax, edi
cmp dword [ecx + 8], eax
je 0x101b3ffe
mov ecx, dword [esp + 0x24]
add esi, 0x14
mov eax, dword [ebp + 0x10]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [eax + 0x48]
jge 0x101b4016
mov ecx, dword [esp + 0xc]
jmp 0x101b3fa0
push dword [ecx + 0xc]
movzx edx, dl
push dword [ecx + 8]
push dword [ecx + 4]
mov ecx, dword [esp + 0x18]
call fcn.10210cb0
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, 0x35
push 0
push 0
call fcn.101f8220
mov esi, eax
add esp, 8
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x57], 0
jne 0x101b40b4
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
test ecx, ecx
jle 0x101b4051
mov eax, dword [edx + 0x14]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*4 - 0xc]
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x78]
mov dword [esi + 0xc], edx
mov edx, 0xb0
push 0
push eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
call fcn.101f8430
mov ecx, eax
add esp, 8
mov dword [esi + 0x10], ecx
test ecx, ecx
je 0x101b40a9
mov eax, dword [esp + 0x28]
add eax, edi
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp + 0x10]
push 0x10
push dword [eax + 0x18]
push esi
push dword [esp + 0x1c]
call fcn.101f1020
add esp, 0x10
mov eax, dword [esp + 0x50]
mov dword [esi + 0xc], 0
test esi, esi
je 0x101b40c1
mov edx, esi
mov ecx, eax
call fcn.101f7b00
mov esi, dword [esp + 0x20]
inc edi
cmp edi, dword [esp + 0x14]
jl 0x101b3e93
mov edi, dword [ebp + 0x10]
jmp 0x101b569c
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x101b41b0
mov eax, dword [edi + 0x38]
mov edx, dword [eax]
mov eax, dword [esp + 0x10]
mov ecx, eax
inc dword [eax + 0x2c]
mov esi, dword [eax + 0x2c]
push esi
push dword [esp + 0x40]
push 0
push dword [ebp + 0x10]
call fcn.101b69f0
mov edi, eax
add esp, 0x10
cmp edi, esi
je 0x101b4132
test esi, esi
je 0x101b4132
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x101b4132
movzx eax, al
mov dword [ecx + eax*4 + 0x98], esi
inc byte [ecx + 0x13]
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x101b418d
mov ecx, dword [esp + 0xc]
mov edx, 0x3f
push edi
push esi
push eax
call fcn.10210cb0
mov edx, dword [esp + 0x18]
mov ecx, eax
add esp, 0xc
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
jne 0x101b4174
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 1
push dword [ebp + 0x18]
mov edx, dword [ebp + 8]
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
push esi
push dword [ebp + 0xc]
call fcn.101b5c20
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov edx, 0x1d
push edi
push esi
push dword [esp + 0x3c]
call fcn.10210cb0
mov edi, dword [ebp + 0x10]
add esp, 0xc
mov byte [edi + 0x3d], 0xb8
jmp 0x101b569c
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x101b43e2
xor esi, esi
mov dword [esp + 0x28], 0xb8
xor ecx, ecx
mov dword [esp + 0x1c], 0
test dl, 0x20
je 0x101b41e5
mov eax, dword [edi + 0x38]
lea edi, [esi + 4]
mov ecx, dword [eax]
jmp 0x101b41e7
xor edi, edi
test dl, 0x10
je 0x101b41f6
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov esi, dword [edi + eax]
mov edx, dword [esp + 0x3c]
mov eax, ecx
test edx, edx
cmove eax, esi
cmove esi, ecx
mov dword [esp + 0x58], eax
test esi, esi
je 0x101b42bc
mov edi, dword [esi]
mov dword [esp + 0x14], 0x16141517
mov ecx, dword [edi + 0x10]
call fcn.101f8d60
mov ecx, dword [esp + 0x10]
cmp eax, 1
jle 0x101b425a
call fcn.101efe10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov edx, dword [edi + 0x10]
push 1
push eax
mov dword [esp + 0x2c], eax
call fcn.101b6390
movzx eax, byte [edi]
add esp, 8
inc eax
and eax, 2
or eax, 1
mov al, byte [esp + eax + 0x14]
jmp 0x101b427f
mov edx, dword [edi + 0x10]
lea eax, [esp + 0x4c]
push eax
call fcn.101f1c90
mov ecx, dword [ebp + 0x10]
add esp, 4
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.101b7350
movzx eax, byte [edi]
mov al, byte [esp + eax - 0x22]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x68]
movzx edx, al
push dword [esp + 0x3c]
call fcn.10210cb0
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x101b42e0
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x101b42e0
movzx eax, al
mov dword [edx + eax*4 + 0x98], ecx
inc byte [edx + 0x13]
jmp 0x101b42e0
mov ecx, dword [esp + 0xc]
xor edx, 1
push 0
push dword [esp + 0x60]
push dword [esp + 0x3c]
lea edx, [edx*4 + 0x1f]
call fcn.10210cb0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x58]
test edi, edi
je 0x101b4353
mov esi, dword [edi]
inc dword [edx + 0x2c]
mov eax, dword [edx + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x10]
push 1
push eax
mov dword [esp + 0x24], eax
call fcn.101b6390
mov ecx, dword [esi + 0x10]
add esp, 8
call fcn.101f8d60
cmp eax, 1
jg 0x101b432d
mov al, byte [esi]
cmp al, 0x38
je 0x101b431d
cmp al, 0x36
jne 0x101b432d
mov eax, dword [esp + 0x3c]
xor eax, 1
lea eax, [eax*2 + 0x37]
jmp 0x101b4338
mov eax, dword [esp + 0x3c]
lea eax, [eax*2 + 0x36]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x28], eax
call fcn.101f8d60
cmp eax, 1
jg 0x101b4353
mov ecx, dword [ebp + 0x10]
mov edx, edi
call fcn.101b7350
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x3c], 0
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x28]
mov ecx, dword [eax + 0x6c]
sete al
add al, 0x25
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x34]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
cmp edi, 0xb8
je 0x101b5696
mov eax, dword [esp + 0x10]
mov edx, 0x87
mov ecx, dword [esp + 0xc]
push 0
inc dword [eax + 0x2c]
mov esi, dword [eax + 0x2c]
push esi
push dword [esp + 0x3c]
call fcn.10210cb0
add esp, 0xc
mov edx, edi
push esi
push dword [esp + 0x68]
mov esi, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x24]
call fcn.10210cb0
mov eax, dword [esi + 0x6c]
add esp, 0xc
mov edi, dword [ebp + 0x10]
test eax, eax
jle 0x101b569c
lea ecx, [eax + eax*4]
mov edx, 0x53
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x101b569c
test edx, 0x200
je 0x101b4f2b
movzx esi, word [edi + 0x18]
xor ecx, ecx
movzx edi, word [edi + 0x1a]
mov eax, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], ecx
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov byte [esp + 0x1b], al
mov byte [esp + 0x6b], al
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
movzx eax, si
mov dword [esp + 0x44], eax
mov esi, eax
test dl, 0x20
je 0x101b4470
mov eax, dword [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x1c], edi
mov eax, dword [eax + 0x38]
mov eax, dword [eax + esi*4]
inc esi
mov dword [esp + 0x60], eax
test dl, 0x10
je 0x101b4546
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0x38]
mov edi, dword [eax + esi*4]
mov eax, edx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], edi
movzx esi, word [esi + 0x1c]
cmp ecx, esi
cmova esi, ecx
mov ecx, 0x100
test word [edi + 0xa], cx
je 0x101b4500
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0xc]
push 0
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, edi
push eax
mov dword [edx + 0x2c], eax
mov edx, 0x47
push 1
call fcn.10210cb0
mov eax, dword [edi + 0x6c]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
add esp, 0xc
mov edx, dword [esp + 0x44]
shl dword [edi + 0x2c], 1
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x1c]
cmp byte [edx + eax], 1
mov eax, dword [esp + 0x20]
sete cl
xor ecx, dword [esp + 0x3c]
or dword [edi + 0x2c], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x60], 0
mov edx, eax
mov edi, esi
jne 0x101b454a
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov eax, dword [edx + 4]
movsx edi, word [eax + ecx*2]
test edi, edi
js 0x101b4533
mov eax, dword [edx + 0xc]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
je 0x101b4667
mov eax, dword [esp + 0x4c]
mov edx, eax
mov dword [esp + 0x1c], esi
cmp edi, 0xfffffffe
je 0x101b466b
mov edi, dword [esp + 0x1c]
test dl, 0x30
jne 0x101b459b
test edx, 0x80000
je 0x101b459b
mov ecx, dword [esp + 0x10]
mov edi, 1
mov esi, dword [ebp + 0x10]
mov byte [esp + 0x1b], 1
inc dword [ecx + 0x2c]
cmp dword [esi], 0
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x54], eax
mov dword [esi + 0x24], eax
je 0x101b4592
mov ecx, dword [esp + 0xc]
lea edx, [edi + 0x46]
push 0
push eax
push 0
call fcn.10210cb0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
cmp si, word [eax + 0x34]
jae 0x101b45f1
mov eax, dword [eax + 0x1c]
xor ecx, ecx
mov edx, dword [esp + 0x44]
cmp byte [edx + eax], cl
sete cl
cmp dword [esp + 0x3c], ecx
jne 0x101b45f1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], ecx
movzx ecx, dx
movzx eax, al
mov byte [esp + 0x1b], 0
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x64], eax
cmp dword [ebp + 0xc], 0
jle 0x101b461d
mov eax, dword [esp + 0x20]
test dword [eax + 0x2c], 0x100000
je 0x101b461d
mov ecx, dword [esp + 0xc]
mov edx, 0x88
push 0
push 0
push dword [esp + 0x48]
call fcn.10210cb0
add esp, 0xc
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x10]
push eax
push edi
push dword [esp + 0x44]
call fcn.101b6610
mov edx, dword [esp + 0x50]
mov edi, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
mov dword [esp + 0x38], edi
test eax, eax
je 0x101b46d8
cmp word [esp + 0x64], 0
je 0x101b46d8
lea edi, [edx + eax]
test edi, edi
jne 0x101b4679
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x101b46d4
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x1b], 1
mov edx, eax
mov edi, esi
jmp 0x101b454a
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101b4680
mov eax, dword [esp + 0x50]
sub ecx, edx
lea esi, [ecx + 1]
test eax, eax
je 0x101b46a3
push 0
push esi
mov ecx, eax
call fcn.10236dd0
add esp, 8
jmp 0x101b46b9
mov eax, esi
or eax, 0
je 0x101b46b7
push 0
push esi
call fcn.102373b0
add esp, 8
jmp 0x101b46b9
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x101b46cc
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x54], 0
mov eax, dword [ebp + 0x10]
je 0x101b46e7
mov eax, dword [eax + 0x28]
jmp 0x101b46ea
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x101b4704
test byte [ecx + 0xc], 0x28
mov dword [esp + 0x1c], 0
je 0x101b470c
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x101b4722
test byte [eax + 0xc], 0x28
jne 0x101b4722
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x101b472a
mov dword [esp + 0x4c], 1
test ecx, ecx
jne 0x101b4777
test si, si
jne 0x101b4777
xor eax, eax
mov dword [esp + 0x58], eax
mov al, byte [esp + 0x1b]
mov esi, edx
test al, al
je 0x101b4891
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0xc]
lea eax, [edi + edx]
push 0
push eax
push 0
mov edx, 0x4b
call fcn.10210cb0
mov al, byte [esp + 0x27]
add esp, 0xc
mov edi, 1
inc esi
jmp 0x101b48a0
mov eax, 1
mov esi, edx
mov dword [esp + 0x58], eax
test ecx, ecx
je 0x101b4739
mov eax, dword [ecx]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x6c]
movzx ecx, ax
mov eax, dword [esp + 0x38]
add eax, edx
mov edx, edi
push ecx
mov ecx, dword [esp + 0x14]
push eax
call fcn.101b6390
mov eax, dword [esp + 0x68]
add esp, 8
movzx eax, word [eax + 0xa]
mov ecx, eax
test eax, 0x100
je 0x101b4809
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov ecx, dword [edx + 0x6c]
cmp byte [eax + 0x57], 0
je 0x101b47d4
mov edx, 0x103210e4
mov ecx, 0x103210da
jmp 0x101b47e9
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea edx, [eax - 8]
lea edx, [edx + ecx*4]
lea ecx, [ecx*4 - 0x12]
add ecx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x2c]
shr eax, 1
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x2c]
and al, 1
movzx eax, al
mov word [ecx], ax
mov eax, dword [esp + 0x60]
movzx ecx, word [eax + 0xa]
test cl, cl
js 0x101b4838
mov ecx, edi
call fcn.101f6080
test eax, eax
je 0x101b4838
mov eax, dword [esp + 0x44]
mov edx, 0x32
add eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
push 0
push dword [esp + 0x34]
push eax
call fcn.10210cb0
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x101b4856
add eax, dword [esp + 0x44]
mov ecx, edi
push eax
mov eax, dword [esp + 0x70]
movzx edx, ax
call fcn.101b7230
add esp, 4
mov ecx, dword [esp + 0x6c]
movzx eax, cx
mov ecx, edi
add esi, eax
call fcn.101f8d60
cmp eax, 1
jg 0x101b4880
mov edx, dword [esp + 0x60]
mov ecx, dword [ebp + 0x10]
call fcn.101b7350
xor al, al
mov edi, 1
jmp 0x101b48a0
mov dword [esp + 0x1c], 1
xor al, al
mov edi, 1
jmp 0x101b48a0
cmp dword [esp + 0x54], 0
jne 0x101b474f
mov edi, dword [esp + 0x58]
push dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
movzx ecx, al
mov eax, esi
sub eax, ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x14]
push eax
call fcn.101b7300
mov eax, dword [esp + 0x28]
add esp, 8
movzx eax, word [eax + 0x32]
test ax, ax
je 0x101b48d5
cmp esi, eax
je 0x101b4ad8
mov eax, dword [esp + 0x54]
test eax, eax
je 0x101b48f3
mov ecx, dword [esp + 0xc]
mov edx, 0x47
push 0
push eax
push 1
call fcn.10210cb0
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x101b4954
push dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov edx, 0x3f
push dword [esp + 0x34]
push eax
call fcn.10210cb0
mov edx, dword [esp + 0x18]
mov ecx, eax
add esp, 0xc
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
jne 0x101b4938
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x44]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push dword [ebp + 0x18]
mov edx, dword [ebp + 8]
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x38]
push dword [ebp + 0xc]
call fcn.101b5c20
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + edi*2]
movzx edi, byte [ecx + eax*2 + 0x1025d4b8]
mov eax, dword [esp + 0x20]
test dword [eax + 0x2c], 0x100000
je 0x101b49af
cmp edi, 0x16
jne 0x101b49af
mov eax, dword [esp + 0x48]
push 0
push 0
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [edi + 0x66]
push eax
call fcn.10210cb0
add esp, 0xc
mov dword [esp + 0x24], eax
push dword [esp + 0x38]
mov edx, edi
mov edi, dword [esp + 0x10]
push dword [esp + 0x34]
mov ecx, edi
push dword [esp + 0x48]
call fcn.10210cb0
mov ecx, eax
add esp, 0xc
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x101b49e4
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x101b4ae1
mov eax, dword [edi + 0x6c]
mov edx, 8
push 0
add eax, 2
mov ecx, edi
push eax
push 0
call fcn.10210cb0
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov edi, dword [esp + 0x38]
mov eax, 1
cmp eax, esi
sbb eax, eax
and eax, 4
push edi
push dword [esp + 0x34]
movzx edx, byte [eax + ecx + 0x1025d4ba]
push dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
call fcn.10210cb0
mov edx, dword [esp + 0x18]
mov ecx, eax
add esp, 0xc
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
jne 0x101b4a5c
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
sub esi, dword [esp + 0x1c]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov esi, ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
test edx, edx
je 0x101b4c6a
cmp dword [esp + 0x24], 0
mov eax, dword [edx]
mov esi, dword [eax + 0x10]
je 0x101b4a8f
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [edx + 0x44], eax
mov eax, dword [esp + 0x64]
mov edx, esi
movzx edi, ax
mov eax, dword [esp + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x10]
push edi
push eax
call fcn.101b6390
mov eax, dword [esp + 0x34]
add esp, 8
movzx eax, word [eax + 0xa]
mov ecx, eax
test eax, 0x100
je 0x101b4b1f
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov ecx, dword [edx + 0x6c]
cmp byte [eax + 0x57], 0
je 0x101b4aea
mov edx, 0x103210e4
mov ecx, 0x103210da
jmp 0x101b4aff
mov edi, dword [esp + 0x38]
jmp 0x101b4a5c
mov edi, dword [esp + 0x38]
jmp 0x101b4a60
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea edx, [eax - 8]
lea edx, [edx + ecx*4]
lea ecx, [ecx*4 - 0x12]
add ecx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x2c]
shr eax, 1
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x2c]
and al, 1
movzx eax, al
mov word [ecx], ax
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 0xa]
test cl, cl
js 0x101b4b4e
mov ecx, esi
call fcn.101f6080
test eax, eax
je 0x101b4b4e
mov eax, dword [esp + 0x38]
mov edx, 0x32
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
push 0
push dword [esp + 0x34]
push eax
call fcn.10210cb0
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x101b4b80
push eax
mov edx, edi
mov ecx, esi
call fcn.101b7230
mov ecx, dword [esp + 0x48]
add esp, 4
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
push eax
lea edx, [edx + ecx]
mov ecx, dword [esp + 0x14]
push edi
call fcn.101b7300
add esp, 8
add dword [esp + 0x1c], edi
mov ecx, esi
call fcn.101f8d60
cmp eax, 1
jg 0x101b4c5c
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x10]
call fcn.101b7350
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x101b4bb9
mov ecx, dword [esp + 0x50]
call fcn.102371f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x101b4bcc
mov ecx, dword [esp + 0x50]
mov edx, eax
call fcn.102371f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
cmp dword [ecx + 0x44], 0
jne 0x101b4bdf
mov eax, dword [edx + 0x6c]
mov dword [ecx + 0x44], eax
test esi, esi
je 0x101b4ca3
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x101b4c0a
mov eax, dword [edx + 0x6c]
mov edx, 0x10
push 0
add eax, 3
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10210cb0
add esp, 0xc
mov eax, dword [esp + 0x3c]
push dword [esp + 0x38]
push dword [esp + 0x34]
movzx edx, byte [edi + eax*2 + 0x102600e8]
push dword [esp + 0x48]
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.10210cb0
mov ecx, eax
add esp, 0xc
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x101b4c49
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x101b4ca7
mov edx, eax
mov ecx, edi
call fcn.102100d0
jmp 0x101b4ca7
mov esi, dword [esp + 0x1c]
mov edi, 1
jmp 0x101b4ba8
cmp byte [esp + 0x6b], 0
je 0x101b4ba4
test eax, eax
jne 0x101b4c99
push eax
lea eax, [edi + ecx]
mov edx, 0x4b
mov ecx, dword [esp + 0x10]
push eax
push 0
call fcn.10210cb0
add esp, 0xc
xor edi, edi
inc esi
jmp 0x101b4ba8
mov edi, dword [esp + 0x4c]
inc esi
jmp 0x101b4ba8
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x101b4d12
mov eax, dword [edi + 0x6c]
mov edx, 0xf
push 0
add eax, 2
push eax
push ecx
mov ecx, edi
call fcn.10210cb0
mov eax, dword [esp + 0x48]
add esp, 0xc
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x38]
movzx edx, byte [edi + eax*2 + 0x102600e8]
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.10210cb0
mov edx, dword [esp + 0x18]
mov ecx, eax
add esp, 0xc
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
jne 0x101b4d12
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
lea ecx, [eax + ecx*4]
lea eax, [edi + esi]
mov dword [ecx + 0x10], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x2c]
test eax, 0x40000
je 0x101b4d3e
mov eax, dword [esp + 0x44]
mov edx, 0x7d
mov ecx, dword [esp + 0xc]
push eax
push eax
push dword [esp + 0x48]
call fcn.10210cb0
mov eax, dword [esi + 0x2c]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, 0x1020
test al, 0x40
je 0x101b4d5a
test word [ecx + 0x2c], dx
jne 0x101b4d5a
mov edi, 1
jmp 0x101b4e94
mov eax, dword [esp + 0x48]
xor edi, edi
mov esi, dword [eax + 0xc]
test byte [esi + 0x1c], 0x80
jne 0x101b4d86
push dword [esp + 0x40]
mov esi, eax
push dword [esp + 0x38]
mov edx, esi
call fcn.101b6440
mov eax, dword [esp + 0x48]
add esp, 8
jmp 0x101b4e9c
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x34], eax
je 0x101b4e98
mov esi, dword [esi + 8]
test esi, esi
je 0x101b4db0
nop dword [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x101b4db0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x101b4da0
movzx edx, word [esi + 0x32]
mov ecx, dword [esp + 0x10]
call fcn.101efd90
mov dword [esp + 0x58], eax
xor edi, edi
movzx eax, word [esi + 0x32]
mov ecx, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x5c], ecx
xor ecx, ecx
cmp cx, ax
jae 0x101b4e4e
nop dword [eax + eax]
mov eax, dword [esp + 0x48]
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x101b4e11
mov eax, dword [esi + 4]
movzx edi, word [eax + edi*2]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
nop dword [eax]
cmp di, word [eax]
je 0x101b4e45
inc ecx
add eax, 2
cmp ecx, edx
jl 0x101b4e00
mov edi, dword [esp + 0x24]
or ecx, 0xffffffff
mov eax, dword [esp + 0x58]
mov edx, 0x5e
add eax, edi
push eax
movsx eax, cx
mov ecx, dword [esp + 0x10]
push eax
push dword [esp + 0x48]
call fcn.10210cb0
movzx ecx, word [esi + 0x32]
inc edi
add esp, 0xc
mov dword [esp + 0x24], edi
cmp edi, ecx
jl 0x101b4de0
mov esi, ecx
jmp 0x101b4e52
mov edi, dword [esp + 0x24]
movzx ecx, cx
jmp 0x101b4e14
mov esi, dword [esp + 0x5c]
push dword [esp + 0x58]
mov edi, dword [esp + 0x10]
mov edx, 0x1b
push dword [esp + 0x88]
mov ecx, edi
push dword [esp + 0x3c]
call fcn.10210cb0
mov ecx, eax
add esp, 0xc
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x101b4e92
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
lea ecx, [eax + ecx*4]
movzx eax, si
mov dword [ecx + 0x10], eax
xor edi, edi
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0
jne 0x101b4ed9
mov ecx, dword [ebp + 8]
mov edx, 0x1020
test word [ecx + 0x2c], dx
jne 0x101b4ec2
mov edx, dword [esp + 0x34]
push ecx
push eax
mov ecx, esi
call fcn.101b6060
add esp, 8
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x101b4ed9
push dword [esp + 0x70]
mov edx, dword [esp + 0x38]
call fcn.101b5d60
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 0x10]
test dword [ecx + 0x2c], 0x1000
je 0x101b4eef
mov byte [edx + 0x3d], 0xb8
jmp 0x101b4efc
cmp dword [esp + 0x3c], 0
sete al
add al, 0x25
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x40]
mov dword [edx + 0x40], eax
mov al, byte [ecx + 0x2e]
and al, 1
mov byte [edx + 0x3e], al
test byte [ecx + 0x2c], 0xf
jne 0x101b4f15
mov byte [edx + 0x3f], 1
test edi, edi
mov edi, 0
cmove edi, esi
mov dword [esp + 0x40], edi
mov edi, dword [ebp + 0x10]
jmp 0x101b569c
test edx, 0x2000
je 0x101b564e
mov esi, dword [esp + 0x10]
mov dword [esp + 0x54], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esi + 0x28]
dec dword [esi + 0x38]
inc dword [esi + 0x2c]
mov dword [esp + 0x20], eax
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [edi + 0x38]
mov edi, dword [ebp + 8]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x3d], 0x43
mov dword [eax + 0x40], edx
mov al, byte [edi + 0x30]
cmp al, 1
jbe 0x101b50e0
movzx eax, al
sub eax, dword [ebp + 0xc]
dec eax
mov dword [esp + 0x58], eax
lea eax, [eax + eax*8]
lea ecx, [eax*8 + 0x50]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x101b4fe3
push 0
push ecx
mov ecx, eax
call fcn.10236dd0
add esp, 8
mov esi, eax
jmp 0x101b4fff
mov eax, ecx
or eax, 0
je 0x101b4ffd
push 0
push ecx
call fcn.102373b0
add esp, 8
mov dword [esp + 0x2c], eax
mov esi, eax
jmp 0x101b5003
xor esi, esi
mov dword [esp + 0x2c], esi
test esi, esi
jne 0x101b5013
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x58]
lea eax, [edx + 1]
movzx eax, al
mov dword [esi + 4], eax
mov dword [esi], eax
mov eax, dword [esp + 0x74]
movups xmm0, xmmword [eax]
movups xmmword [esi + 8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + 0x18], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esi + 0x28], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esi + 0x38], xmm0
movq xmm0, qword [eax + 0x40]
movq qword [esi + 0x48], xmm0
mov edi, dword [edi + 4]
cmp edx, 1
jl 0x101b50a3
lea ecx, [esi + 0x50]
mov esi, dword [ebp + 0x10]
add esi, 0x9c
movzx eax, byte [esi]
lea esi, [esi + 0x60]
lea ecx, [ecx + 0x48]
lea eax, [eax + eax*8]
movups xmm0, xmmword [edi + eax*8 + 8]
movups xmmword [ecx - 0x48], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x18]
movups xmmword [ecx - 0x38], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x28]
movups xmmword [ecx - 0x28], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x38]
movups xmmword [ecx - 0x18], xmm0
movq xmm0, qword [edi + eax*8 + 0x48]
movq qword [ecx - 8], xmm0
sub edx, 1
jne 0x101b5063
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
test byte [edi + 0x2c], 0x10
jne 0x101b5156
test byte [ecx + 0x1c], 0x80
jne 0x101b50e9
inc dword [esi + 0x2c]
mov edx, 0x4b
mov eax, dword [esi + 0x2c]
mov ecx, dword [esp + 0xc]
push 0
push eax
push 0
mov dword [esp + 0x28], eax
call fcn.10210cb0
add esp, 0xc
jmp 0x101b514c
mov eax, dword [edi + 4]
mov dword [esp + 0x2c], eax
jmp 0x101b50ae
mov esi, dword [ecx + 8]
test esi, esi
je 0x101b5100
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x101b5100
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x101b50f0
mov edi, dword [esp + 0x10]
mov edx, 0x76
push 0
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x20], ecx
lea eax, [ecx + 1]
mov dword [edi + 0x28], eax
movzx eax, word [esi + 0x32]
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10210cb0
mov edi, dword [edi + 8]
add esp, 0xc
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.101e0e90
test eax, eax
je 0x101b514c
push 0xfffffffffffffff8
mov edx, eax
mov ecx, edi
call fcn.1020fd00
add esp, 4
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc]
mov edx, 0x47
push 0
push dword [esp + 0x3c]
push 0
call fcn.10210cb0
mov dword [esp + 0x84], eax
add esp, 0xc
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jle 0x101b5227
xor edi, edi
test ecx, ecx
jle 0x101b5227
mov ecx, dword [esp + 0x48]
xor esi, esi
mov edx, 0x8006
jmp 0x101b51a4
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x18]
add eax, esi
cmp eax, ecx
je 0x101b51f1
test word [eax + 0xa], dx
jne 0x101b51f1
mov edx, 0x3fff
test word [eax + 0xc], dx
je 0x101b51f1
mov edx, dword [eax]
test dword [edx + 4], 0x400000
jne 0x101b51f1
mov ecx, dword [esp + 0x50]
push 0
push 0
call fcn.101f7650
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
push eax
call fcn.101f7ef0
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x101b51f5
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x70]
inc edi
add esi, 0x30
cmp edi, dword [edx + 0xc]
mov edx, 0x8006
jl 0x101b51a0
mov esi, dword [esp + 0x10]
test eax, eax
je 0x101b522b
push eax
push 0
mov edx, 0x1002c
mov ecx, esi
call fcn.101f8220
add esp, 8
mov dword [esp + 0x30], eax
jmp 0x101b522b
mov esi, dword [esp + 0x10]
push str.MULTI_INDEX_OR
push 1
push esi
call fcn.10210720
mov edx, dword [esp + 0x6c]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp dword [edx + 0xc], ecx
jle 0x101b52ce
mov edi, 0x400
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [edx + 0x18]
mov edx, dword [esp + 0x34]
cmp dword [eax + 0x14], edx
je 0x101b526b
test word [eax + 0xc], di
je 0x101b52be
mov edx, dword [eax]
xor edi, edi
mov dword [esp + 0x44], edi
test edx, edx
je 0x101b528d
mov ecx, dword [esp + 0x50]
push edi
push edi
call fcn.101f7650
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, eax
jmp 0x101b528f
xor esi, esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x88], esi
cmp byte [eax + 0x57], 0
je 0x101b5332
test esi, esi
je 0x101b52b5
mov edx, esi
mov ecx, eax
call fcn.101f7b00
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edi, 0x400
mov eax, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x14], ecx
mov edx, eax
cmp ecx, dword [eax + 0xc]
jl 0x101b5253
mov ecx, esi
call fcn.10210780
mov edi, dword [ebp + 0x10]
mov dword [esi + 0xdc], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x48], eax
test eax, eax
je 0x101b52f0
mov eax, dword [esp + 0x20]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x101b530a
mov ecx, dword [esp + 0x50]
mov edx, eax
mov dword [eax + 0xc], 0
call fcn.101f7b00
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x78]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x101b531c
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x101b55eb
mov eax, 0x103210d8
jmp 0x101b55f4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x101b533f
mov dword [eax + 0xc], esi
mov esi, eax
lea eax, [ecx + 1]
push eax
push str.INDEX__d
push 1
push dword [esp + 0x1c]
call fcn.10210720
push dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x24]
push 0x20
push 0
push 0
push 0
push esi
call fcn.101a86c0
mov esi, eax
add esp, 0x28
mov dword [esp + 0x3c], esi
test esi, esi
je 0x101b55c8
mov edx, dword [esp + 0x2c]
lea ecx, [esi + 0x300]
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.101b7640
mov eax, dword [ebp + 8]
add esp, 8
test byte [eax + 0x2c], 0x10
jne 0x101b551c
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
dec eax
cmp esi, eax
mov eax, 0xffffffff
cmove esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x58], esi
test byte [eax + 0x1c], 0x80
jne 0x101b541f
mov edi, dword [esp + 0x4c]
mov edx, eax
mov ecx, dword [esp + 0xc]
push edi
push 0xffffffffffffffff
push dword [esp + 0x3c]
call fcn.101f3430
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, 0x2e
push edi
push 0
push dword [esp + 0x24]
call fcn.10210cb0
mov edx, dword [esp + 0x18]
mov edi, eax
add esp, 0xc
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
jne 0x101b5518
mov eax, dword [edx + 0x68]
lea ecx, [edi + edi*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
jmp 0x101b5518
mov esi, dword [eax + 8]
test esi, esi
je 0x101b5436
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x101b5436
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x101b5426
movzx eax, word [esi + 0x32]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x28], eax
call fcn.101efd90
xor edi, edi
mov dword [esp + 0x64], eax
cmp dword [esp + 0x28], edi
jbe 0x101b5480
mov edx, dword [esp + 0x6c]
lea ecx, [edi + eax]
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esp + 0x10]
movsx eax, word [eax + edi*2]
push eax
push dword [esp + 0x3c]
call fcn.101f3430
mov eax, dword [esp + 0x70]
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x28]
jl 0x101b5455
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
test edi, edi
je 0x101b54ab
mov ecx, dword [esp + 0xc]
mov edx, 0x1c
push esi
push eax
push 0
push dword [esp + 0x28]
call fcn.102105a0
add esp, 0x10
mov dword [esp + 0x44], eax
test edi, edi
mov edi, dword [esp + 0x64]
js 0x101b5505
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov edx, 0x61
push esi
push edi
call fcn.10210cb0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, 0x8a
push esi
push edi
push dword [esp + 0x54]
push dword [esp + 0x28]
call fcn.102105a0
add esp, 0x10
cmp dword [esp + 0x58], 0
je 0x101b5505
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x101b5505
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, 0x10
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x10]
mov edx, edi
push esi
call fcn.101efd60
mov edi, dword [esp + 0x48]
add esp, 4
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc]
mov edx, 9
push 0
push dword [esp + 0x60]
push dword [esp + 0x40]
call fcn.10210cb0
add esp, 0xc
test edi, edi
je 0x101b5546
mov ecx, dword [esp + 0xc]
mov edx, edi
call fcn.102100d0
mov edx, dword [esi + 0x34]
mov ecx, 1
mov eax, dword [esp + 0x24]
test dl, 2
cmovne eax, ecx
mov ecx, dword [esi + 0x350]
mov dword [esp + 0x24], eax
test dword [ecx + 0x2c], 0x200
je 0x101b559a
cmp dword [esp + 0x14], 0
je 0x101b557b
mov eax, dword [esp + 0x54]
cmp dword [ecx + 0x20], eax
jne 0x101b559a
mov eax, dword [esp + 0x6c]
test byte [eax + 0x1c], 0x80
je 0x101b5591
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x101b559a
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x54], eax
jmp 0x101b55a2
mov dword [esp + 0x54], 0
test dl, 1
je 0x101b55ae
mov eax, dword [ebp + 8]
or dword [eax + 0x34], 1
mov ecx, esi
call fcn.101a7ac0
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.10210780
mov dword [esi + 0xdc], eax
jmp 0x101b55cc
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x101b55e2
mov ecx, dword [esp + 0x50]
mov edx, eax
call fcn.101f7b00
mov ecx, dword [esp + 0x14]
jmp 0x101b52b9
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov ecx, esi
push 0
push dword [edi + 0xc]
mov edx, 8
push 0
call fcn.10210cb0
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, esi
call fcn.10210470
mov eax, dword [esi + 0x6c]
mov dword [edi + 0x44], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x30], 1
jbe 0x101b563a
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x101b563a
mov ecx, dword [esp + 0x50]
mov edx, eax
call fcn.102371f0
cmp dword [esp + 0x24], 0
jne 0x101b569c
mov edx, dword [esp + 0x48]
mov ecx, edi
call fcn.101b7350
jmp 0x101b569c
mov eax, dword [esp + 0x74]
mov edi, dword [ebp + 0x10]
test byte [eax + 0x28], 0x40
je 0x101b5661
mov byte [edi + 0x3d], 0xb8
jmp 0x101b569c
mov ecx, dword [esp + 0x3c]
push 0
push esi
mov al, byte [ecx + 0x1025bdc8]
movzx edx, byte [ecx + 0x1025c260]
mov ecx, dword [esp + 0x14]
mov byte [edi + 0x3d], al
mov eax, dword [esp + 0x3c]
push eax
mov dword [edi + 0x40], eax
call fcn.10210cb0
add esp, 0xc
mov byte [edi + 0x3f], 1
inc eax
mov dword [edi + 0x44], eax
jmp 0x101b569c
mov edi, edx
jmp 0x101b569c
mov edi, ecx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x24], eax
nop
mov eax, dword [edx + 0xc]
xor ecx, ecx
mov esi, dword [edx + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x58], eax
test eax, eax
jle 0x101b588a
nop dword [eax + eax]
movzx edx, word [esi + 0xa]
xor eax, eax
mov dword [esp + 0x5c], eax
test dl, 6
jne 0x101b586f
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [edi + 0x58]
and eax, dword [edi + 0x5c]
or ecx, eax
je 0x101b5703
mov eax, dword [ebp + 8]
or dword [eax + 0x34], 2
mov ecx, dword [esp + 0x2c]
jmp 0x101b586f
mov eax, dword [esp + 0x74]
mov edi, dword [esi]
mov dword [esp + 0x78], edi
mov al, byte [eax + 0x24]
test al, 0x58
je 0x101b579f
mov ecx, dword [edi + 4]
test cl, 3
je 0x101b5868
test al, 8
je 0x101b5731
test cl, 1
je 0x101b5868
mov ecx, dword [ebp + 8]
mov edi, dword [edi + 0x24]
cmp dword [ecx + 0x200], edi
jne 0x101b5748
mov ecx, 1
xor edx, edx
jmp 0x101b5786
mov edx, dword [ecx + 0x1fc]
mov eax, 1
cmp edx, eax
jle 0x101b576c
add ecx, 0x204
nop dword [eax]
cmp dword [ecx], edi
je 0x101b57ce
inc eax
add ecx, 4
cmp eax, edx
jl 0x101b5760
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edi, dword [ebp + 0x10]
and ecx, dword [edi + 0x58]
and edx, dword [edi + 0x5c]
or ecx, edx
jne 0x101b56fa
movzx edx, word [esi + 0xa]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x24]
cmp eax, 1
jne 0x101b57e5
mov eax, dword [ebp + 0x10]
mov ecx, edi
push dword [esp + 0x40]
mov edx, dword [eax + 4]
call fcn.101f04f0
add esp, 4
test eax, eax
jne 0x101b57ea
mov ecx, 2
mov dword [esp + 0x2c], ecx
jmp 0x101b586c
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x101b5786
cmp eax, 3
jge 0x101b5809
movzx edx, word [esi + 0xa]
test edx, 0x1000
je 0x101b5809
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x101b586c
mov ecx, 3
mov dword [esp + 0x2c], ecx
jmp 0x101b586c
test edx, 0x200
je 0x101b583a
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x101b583a
mov ecx, dword [esp + 0xc]
mov eax, edx
push 0
shr eax, 1
and edx, 1
push 0
push eax
add edx, 0xf
call fcn.10210cb0
add esp, 0xc
mov dword [esp + 0x5c], eax
push 0x10
push dword [esp + 0x88]
push edi
push dword [esp + 0x1c]
call fcn.101f1020
mov eax, dword [esp + 0x6c]
add esp, 0x10
test eax, eax
je 0x101b5863
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.102100d0
or word [esi + 0xa], 4
mov ecx, dword [esp + 0x2c]
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x58]
add esi, 0x30
dec eax
mov dword [esp + 0x58], eax
test eax, eax
jg 0x101b56d0
mov edx, dword [esp + 0x70]
mov esi, dword [edx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jg 0x101b56b0
mov eax, dword [edx + 0x14]
mov dword [esp + 0x14], eax
test eax, eax
jle 0x101b59bf
lea edi, [esi + 0xc]
mov esi, eax
nop word [eax + eax]
test byte [edi - 2], 6
jne 0x101b59af
movzx eax, word [edi]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x101b59af
mov ecx, dword [esp + 0x34]
cmp dword [edi + 8], ecx
jne 0x101b59af
mov eax, dword [esp + 0x74]
test byte [eax + 0x24], 0x58
jne 0x101b59af
mov eax, dword [edi - 0xc]
mov edx, ecx
mov ecx, dword [esp + 0x70]
push 0
push 0x83
push dword [ebp + 0x18]
mov dword [esp + 0x84], eax
push dword [ebp + 0x14]
push dword [edi + 0xc]
call fcn.101afeb0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x101b59ab
test byte [esi + 0xa], 4
jne 0x101b59ab
test byte [esi + 0xc], 1
je 0x101b5949
mov eax, dword [esi]
test dword [eax + 4], 0x1000
je 0x101b5949
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x101b59ab
mov eax, dword [esi]
push 0x10
push dword [esp + 0x88]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x98], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0xb8], xmm0
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x1c]
call fcn.101f1020
add esp, 0x10
or word [esi + 0xa], 4
mov esi, dword [esp + 0x14]
dec esi
add edi, 0x30
mov dword [esp + 0x14], esi
test esi, esi
jg 0x101b58b0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x38]
mov dword [esp + 0x24], eax
test eax, eax
je 0x101b5b51
movzx eax, byte [edx + 0x3c]
lea ecx, [eax + eax*8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + ecx*8 + 0x18]
mov dword [esp + 0x78], esi
test byte [esi + 0x1c], 0x80
jne 0x101b5a26
mov ecx, dword [esp + 0x10]
mov edx, 2
call fcn.101efd90
mov dword [esp + 0x14], eax
mov edx, esi
lea ecx, [eax + 1]
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push dword [eax + 4]
call fcn.101f3430
mov eax, dword [esp + 0x20]
add esp, 0xc
mov edi, 1
jmp 0x101b5aa5
mov esi, dword [esi + 8]
test esi, esi
je 0x101b5a40
nop dword [eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x101b5a40
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x101b5a30
movzx eax, word [esi + 0x32]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
lea edx, [eax + 1]
call fcn.101efd90
xor edi, edi
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], edi
jbe 0x101b5aa1
inc eax
mov dword [esp + 0x88], eax
nop dword [eax + eax]
mov edx, dword [esp + 0x78]
add eax, edi
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esi + 4]
movsx eax, word [eax + edi*2]
push eax
push dword [esp + 0x3c]
call fcn.101f3430
mov eax, dword [esp + 0x94]
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x28]
jl 0x101b5a70
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
lea esi, [eax + 1]
mov eax, dword [esp + 0x24]
mov edx, 0x1c
push edi
push esi
push 0
push dword [eax]
call fcn.102105a0
push dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, 0x61
push edi
push esi
mov dword [esp + 0x94], eax
call fcn.10210cb0
mov eax, dword [esp + 0x40]
add esp, 0x1c
mov ecx, dword [esp + 0xc]
mov edx, 0x8a
push edi
push esi
push dword [esp + 0x1c]
push dword [eax]
call fcn.102105a0
mov eax, dword [esp + 0x34]
mov edx, 0xb4
push edi
push esi
mov esi, dword [esp + 0x24]
mov ecx, esi
push 0
push dword [eax + 4]
call fcn.102105a0
mov eax, dword [esi + 0x6c]
add esp, 0x20
test eax, eax
jle 0x101b5b2d
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.102100d0
mov edx, dword [esp + 0x14]
lea eax, [edi + 1]
mov ecx, dword [esp + 0x10]
push eax
call fcn.101efd60
mov edx, dword [ebp + 0x10]
add esp, 4
jmp 0x101b5b55
mov esi, dword [esp + 0xc]
mov ecx, dword [edx]
test ecx, ecx
je 0x101b5b7e
mov eax, dword [esi + 0x6c]
push 0
push ecx
mov dword [edx + 0x1c], eax
mov ecx, esi
push 1
mov edx, 0x47
call fcn.10210cb0
mov edx, dword [ebp + 0x10]
add esp, 0xc
cmp dword [edx + 0x38], 0
je 0x101b5bb3
mov esi, dword [edx + 0x38]
test esi, esi
je 0x101b5c0d
mov edi, dword [esp + 0xc]
mov edx, 0x4a
push 0
push dword [esi + 8]
mov ecx, edi
push 0
call fcn.10210cb0
mov eax, dword [edi + 0x6c]
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x10]
inc byte [eax + 0x1a]
mov eax, dword [esp + 0x70]
xor edi, edi
mov esi, dword [eax + 0x18]
cmp dword [eax + 0x14], edi
jle 0x101b5c0d
test byte [esi + 0xa], 6
jne 0x101b5bfd
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [edx + 0x58]
and eax, dword [edx + 0x5c]
or ecx, eax
jne 0x101b5bfd
mov eax, dword [esp + 0x74]
test byte [eax + 0x24], 0x40
jne 0x101b5bfd
push 0x10
push dword [esp + 0x88]
push dword [esi]
push dword [esp + 0x1c]
call fcn.101f1020
add esp, 0x10
or word [esi + 0xa], 4
mov edx, dword [esp + 0x70]
inc edi
add esi, 0x30
cmp edi, dword [edx + 0x14]
mov edx, dword [ebp + 0x10]
jl 0x101b5bc1
mov eax, dword [edx + 0x58]
mov edx, dword [edx + 0x5c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret