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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
mov eax, ecx
mov dword [esp + 0x74], 0
mov dword [esp + 8], eax
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x74], eax
push edi
mov eax, dword [esi + 0x50]
mov edi, edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x30], eax
movzx eax, byte [esi + 0x3c]
mov dword [esp + 0x38], edi
lea ecx, [edx + 0x50]
mov dword [esp + 0x80], ecx
lea ecx, [eax + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + ecx*8]
add eax, 8
mov dword [esp + 0x90], eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x44], eax
cmp dword [edx + 0x1f8], eax
jne 0x100af44e
mov ecx, 1
xor edx, edx
jmp 0x100af498
mov edx, dword [edx + 0x1f4]
mov eax, 1
cmp edx, eax
jle 0x100af47e
mov ecx, dword [ebp + 8]
add ecx, 0x1fc
mov edi, dword [esp + 0x44]
cmp dword [ecx], edi
mov edi, dword [esp + 0x38]
je 0x100af52c
inc eax
add ecx, 4
cmp eax, edx
jl 0x100af466
xorps xmm0, xmm0
movlpd qword [esp + 0x98], xmm0
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
not ecx
not edx
and ecx, dword [ebp + 0x14]
and edx, dword [ebp + 0x18]
mov dword [esi + 0x58], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x5c], edx
mov esi, dword [ebp + 0xc]
mov eax, dword [ecx + 0x48]
mov edx, dword [ecx + 0x4c]
mov ecx, esi
call fcn.1013b070
mov ecx, dword [esp + 0x10]
and eax, 1
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 0x38]
dec eax
mov dword [ecx + 0x38], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0xc], eax
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x38]
dec eax
mov dword [ecx + 0x38], eax
cmp byte [edx + 0x3c], 0
mov dword [esp + 0x94], eax
mov dword [edx + 0x18], eax
jbe 0x100af575
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 8
je 0x100af575
mov edx, dword [ecx + 0x2c]
mov eax, dword [ebp + 0x10]
inc edx
mov dword [ecx + 0x2c], edx
mov dword [eax], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af546
push 0
push edx
push 0
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100af575
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 0x100af498
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
test esi, esi
jle 0x100af5a3
mov edx, dword [ebp + 8]
lea eax, [esi + esi*2]
shl eax, 5
add edx, 0x330
add eax, edx
nop dword [eax]
cmp dword [eax - 0x38], 0
jne 0x100af5a3
cmp dword [eax], 0
jne 0x100af5a3
dec ecx
sub eax, 0x60
test ecx, ecx
jg 0x100af590
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
shl eax, 5
mov esi, dword [eax + ecx + 0x304]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x20], esi
test byte [eax + 0x28], 0x20
je 0x100af6a9
mov ecx, dword [edi + 0x6c]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x100af5eb
push edx
push 0
push esi
mov edx, 0xb
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100af61a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x100af658
push 0
push dword [esp + 0x4c]
mov edx, 0xc
mov ecx, edi
push esi
call fcn.10043eb0
mov edx, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x44], edx
mov edx, eax
xor eax, eax
neg eax
sbb eax, eax
mov byte [edx + 0x3d], 9
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0xc
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x44], edx
mov edx, eax
xor eax, eax
neg eax
sbb eax, eax
mov byte [edx + 0x3d], 9
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x2c]
test edx, 0x400
je 0x100afc9a
movzx eax, word [eax + 0x30]
mov dword [esp + 0x48], eax
lea ecx, [eax + 2]
cmp ecx, 1
jne 0x100af6f6
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100af6e5
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov edx, eax
mov dword [esp + 0x1c], eax
jmp 0x100af730
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa0]
jmp 0x100af72c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov dword [esp + 0x1c], esi
cmp ecx, edx
jg 0x100af71d
lea eax, [esi + ecx]
sub edx, ecx
mov esi, dword [esp + 0x10]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x20], eax
jmp 0x100af730
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x2c], eax
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 0x10]
xor esi, esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x48], esi
jbe 0x100af801
mov eax, dword [esp + 0x30]
add edx, 2
mov dword [esp + 0x40], edx
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x100af7f2
test byte [ecx + 0xc], 1
je 0x100af890
cmp esi, 0x1f
ja 0x100af781
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
jmp 0x100af783
xor eax, eax
mov edi, dword [esp + 0x30]
test dword [edi + 0x28], eax
mov edi, dword [esp + 0x38]
je 0x100af867
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov edx, dword [eax + 0x28]
mov dword [esp + 0x18], edx
push edx
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
mov eax, edi
inc dword [eax + 0x2c]
mov edx, dword [ecx]
mov ecx, edi
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x24], eax
call fcn.1005f750
mov edi, dword [esp + 0x3c]
add esp, 4
mov eax, dword [esp + 0x40]
add eax, esi
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af830
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x1c]
push eax
push edx
mov edx, 0xae
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
inc esi
cmp esi, dword [esp + 0x48]
jl 0x100af751
mov eax, dword [esp + 0x30]
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x1c]
mov edx, dword [eax + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x100af91c
push 0
push esi
push edx
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100af947
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
add edx, esi
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100af7ee
lea eax, [edx + esi]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push eax
push dword [esp + 0x70]
push esi
push dword [ebp + 0x10]
call fcn.100ae260
mov eax, dword [ebp + 0x10]
add esp, 0x10
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
jmp 0x100af7ee
lea eax, [edx + esi]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 1
push eax
mov edx, dword [edx + 0x10]
call fcn.100aef80
mov eax, dword [esp + 0x20]
add esp, 8
cmp byte [eax + 0xf], 0x4a
mov eax, dword [esp + 0x30]
jne 0x100af913
test byte [eax + 0x1c], 2
je 0x100af913
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp dword [edi + 0x70], ecx
jg 0x100af8db
push 0
push edx
push 0
mov edx, 0x47
jmp 0x100af7e4
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100af7ee
mov edx, dword [esp + 0x40]
jmp 0x100af7f6
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
lea edx, [esi + 1]
cmp dword [edi + 0x70], ecx
jg 0x100af96a
push 0
push edx
push dword [esp + 0x50]
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100af99d
mov esi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
mov edx, 0xfffffffa
mov eax, 0xffffffff
test byte [ecx + 0x1c], 1
cmovne eax, edx
mov edx, 6
push eax
push dword [ecx + 0x24]
mov ecx, edi
push esi
push dword [esp + 0x40]
push dword [esp + 0x54]
call fcn.100442c0
mov eax, dword [esp + 0x44]
add esp, 0x14
mov ecx, dword [esp + 0x78]
and dword [eax + 0x1c], 0xfffffffe
cmp byte [ecx + 0x57], 0
je 0x100af9e7
mov dword [eax + 0x24], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x44]
mov dword [edx + 0x40], eax
mov eax, 0x3f
cmp byte [ecx + 0x2e], 0
mov ecx, 0xb8
cmovne eax, ecx
xor ecx, ecx
mov byte [edx + 0x3d], al
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x44], eax
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x48], ecx
jbe 0x100afc88
lea eax, [esi + 2]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
nop dword [eax]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x34], edx
cmp ecx, 0x10
jae 0x100afa5b
mov ax, word [esi + 0x22]
shr ax, cl
test al, 1
je 0x100afa57
mov ecx, dword [ebp + 0x10]
call fcn.100ade50
jmp 0x100afc72
mov ecx, dword [esp + 0x1c]
test byte [edx + 0xc], 1
je 0x100afc76
cmp ecx, 0x1f
ja 0x100afa73
mov eax, 1
shl eax, cl
jmp 0x100afa75
xor eax, eax
test dword [esi + 0x28], eax
jne 0x100afc76
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100afc76
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x20], 0
cmp dword [ecx + 0x48], 0
jle 0x100afb6a
mov eax, dword [edi]
xor esi, esi
mov dh, byte [eax + 0x57]
test dh, dh
je 0x100afab3
mov ecx, 0x10168a60
jmp 0x100afac3
mov eax, dword [ecx + 0x4c]
mov eax, dword [eax + esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea ecx, [eax + ecx*4]
mov dl, byte [ecx]
cmp dl, 0x5e
jne 0x100afad7
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
cmp dword [ecx + 0xc], eax
jmp 0x100afae7
cmp dl, 0x87
jne 0x100afaed
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
cmp dword [ecx + 8], eax
mov edi, dword [esp + 0x38]
je 0x100afb05
mov ecx, dword [esp + 0x20]
add esi, 0x14
mov eax, dword [ebp + 0x10]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, dword [eax + 0x48]
jge 0x100afb6a
mov ecx, eax
jmp 0x100afaa8
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x24], eax
cmp dword [edi + 0x70], ecx
jg 0x100afb34
mov ecx, dword [esp + 0x20]
push esi
push eax
push ecx
movzx edx, dl
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100afb6a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov byte [eax + 1], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.1001ec50
mov esi, eax
add esp, 8
test esi, esi
je 0x100afbc0
push 0x34
push 0
push esi
call fcn.101298f0
mov ecx, dword [esp + 0x1c]
or eax, 0xffffffff
mov byte [esi], 0x35
add esp, 0xc
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
cmp eax, 1
jge 0x100afbc0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.100224e0
add esp, 0xc
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100afc61
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
test ecx, ecx
jle 0x100afbe8
mov eax, dword [edx + 0x14]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*4 - 0xc]
mov ecx, dword [esp + 0x78]
push 0
push 0x35
mov dword [esi + 0xc], edx
call fcn.1001ec50
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x100afc53
push 0x34
push 0
push eax
call fcn.101298f0
mov ecx, dword [esp + 0x30]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x34]
mov dword [ecx + 8], eax
mov byte [ecx], 0xb0
mov byte [eax], 0
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
mov dword [ecx + 0x18], 1
mov dword [esi + 0x10], ecx
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp + 0x10]
push 0x10
push dword [eax + 0x18]
push esi
push dword [esp + 0x1c]
call fcn.100651a0
add esp, 0x10
jmp 0x100afc56
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], 0
test esi, esi
je 0x100afc6e
mov edx, esi
mov ecx, eax
call fcn.1005d180
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x48]
jl 0x100afa30
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x100afe6e
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 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 + 0x70]
push 0
push dword [ebp + 0x10]
call fcn.100ae260
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
cmp edx, esi
je 0x100afcfc
test esi, esi
je 0x100afcfc
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100afcfc
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], esi
inc byte [ecx + 0x13]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x34], 0
mov esi, dword [eax + 0x10]
je 0x100afdf0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100afd29
push 0
push esi
push edx
mov edx, 0xd
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100afd58
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + 0x6c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x24], eax
cmp dword [edi + 0x70], edx
jg 0x100afd83
push dword [esp + 0x18]
mov edx, 0x40
mov ecx, edi
push esi
push eax
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100afdb6
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x40
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100afdd1
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [ebp + 8]
push eax
push esi
push dword [ebp + 0xc]
call fcn.100af0f0
mov edx, dword [esp + 0x28]
add esp, 0x10
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100afe26
push edx
push esi
push dword [esp + 0x4c]
mov edx, 0x1e
mov ecx, edi
call fcn.10043eb0
mov edx, dword [ebp + 0x10]
xor eax, eax
add esp, 0xc
neg eax
sbb eax, eax
add eax, 2
mov byte [edx + 0x3d], 0xb8
mov dword [esp + 0x34], eax
jmp 0x100b2213
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [ebp + 0x10]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
xor eax, eax
neg eax
mov byte [edx + 0x3d], 0xb8
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x100b0223
mov eax, 0xb8
mov dword [esp + 0x18], 0
xor esi, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], 0
test dl, 0x20
je 0x100afeb0
mov eax, dword [esp + 0x30]
mov ecx, 4
mov eax, dword [eax + 0x38]
mov esi, dword [eax]
jmp 0x100afeb2
xor ecx, ecx
test dl, 0x10
je 0x100afec7
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x2c], ecx
jmp 0x100afec9
xor ecx, ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100afed7
mov dword [esp + 0x2c], esi
mov esi, ecx
test esi, esi
je 0x100b000d
mov ecx, dword [esi]
mov dword [esp + 0x50], 0x17151618
mov dword [esp + 0x20], ecx
mov edx, dword [ecx + 0x10]
mov al, byte [edx]
cmp al, 0xb0
jne 0x100afef9
mov al, byte [edx + 2]
cmp al, 0xb1
jne 0x100aff02
mov eax, dword [edx + 0x14]
jmp 0x100aff0c
cmp al, 0x8a
jne 0x100aff5b
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100aff5b
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x13]
test al, al
jne 0x100aff24
inc dword [edx + 0x2c]
mov esi, dword [edx + 0x2c]
jmp 0x100aff33
dec al
mov byte [edx + 0x13], al
movzx eax, al
mov esi, dword [edx + eax*4 + 0xa0]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x10]
push 1
push esi
call fcn.100aef80
mov ecx, dword [esp + 0x28]
add esp, 8
mov edx, esi
movzx eax, byte [ecx]
inc eax
and eax, 2
or eax, 1
mov al, byte [esp + eax + 0x50]
jmp 0x100aff8d
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
call fcn.10064710
mov ecx, dword [ebp + 0x10]
add esp, 4
mov edx, esi
mov dword [esp + 0x34], eax
call fcn.100ade50
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
movzx eax, byte [ecx]
mov al, byte [esp + eax + 0x1a]
mov ecx, dword [edi + 0x6c]
mov byte [esp + 0x17], al
cmp dword [edi + 0x70], ecx
jg 0x100affb1
push edx
push dword [esp + 0x4c]
movzx edx, al
mov ecx, edi
push dword [esp + 0x4c]
call fcn.10043eb0
add esp, 0xc
jmp 0x100affeb
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x17]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
test esi, esi
je 0x100b0074
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100b0074
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], esi
inc byte [ecx + 0x13]
jmp 0x100b0074
mov ecx, dword [edi + 0x6c]
xor eax, 1
lea edx, [eax*4 + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x100b0036
mov ecx, dword [esp + 0x20]
push 0
push ecx
push dword [esp + 0x4c]
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0070
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov byte [eax + 1], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100b0117
mov esi, dword [eax]
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
push 1
mov edx, dword [esi + 0x10]
push eax
mov dword [esp + 0x20], eax
call fcn.100aef80
mov ecx, dword [esi + 0x10]
add esp, 8
mov dl, byte [ecx]
mov al, dl
cmp al, 0xb0
jne 0x100b00a8
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100b00b1
mov eax, dword [ecx + 0x14]
jmp 0x100b00bb
cmp al, 0x8a
jne 0x100b00c0
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100b00ca
mov al, byte [esi]
cmp al, 0x38
je 0x100b00d7
cmp al, 0x36
je 0x100b00d7
mov eax, dword [esp + 0x6c]
lea eax, [eax*2 + 0x36]
jmp 0x100b00e5
mov eax, dword [esp + 0x6c]
xor eax, 1
lea eax, [eax*2 + 0x37]
mov dword [esp + 0x3c], eax
cmp dl, 0xb0
jne 0x100b00f1
mov dl, byte [ecx + 2]
cmp dl, 0xb1
jne 0x100b00fb
mov eax, dword [ecx + 0x14]
jmp 0x100b0106
cmp dl, 0x8a
jne 0x100b010b
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100b0117
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x10]
call fcn.100ade50
cmp dword [esp + 0x6c], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [edi + 0x6c]
sete al
add al, 0x26
cmp dword [esp + 0x3c], 0xb8
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x44]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
je 0x100afc88
mov eax, dword [esp + 0x10]
inc dword [eax + 0x2c]
mov ecx, dword [edi + 0x6c]
mov esi, dword [eax + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x100b016c
push 0
push esi
push dword [esp + 0x4c]
mov edx, 0x87
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b019b
mov edx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x3c]
cmp dword [edi + 0x70], ecx
jg 0x100b01bd
mov ecx, dword [esp + 0x18]
push esi
push dword [esp + 0x4c]
push ecx
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b01f3
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov byte [eax + 1], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100afc85
lea ecx, [eax + eax*4]
mov edx, 0x53
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
xor eax, eax
mov edx, dword [ebp + 0x10]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
test edx, 0x200
je 0x100b14c4
mov esi, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x4c], 0
mov byte [esp + 0x17], 0
movzx eax, word [esi + 0x1a]
movzx ecx, word [esi + 0x18]
mov dword [esp + 0x3c], eax
movzx eax, word [esi + 0x1c]
xor esi, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x87], 0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x74], esi
mov dword [esp + 0x50], esi
movzx ecx, cx
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
test dl, 0x20
je 0x100b02a6
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x38]
movzx esi, word [esi + 0x1a]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [esp + 0x1c], eax
test dl, 0x10
je 0x100b03b2
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x38]
movzx edx, word [edx + 0x1c]
cmp esi, edx
mov ecx, dword [eax + ecx*4]
cmova edx, esi
mov eax, 0x100
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x24], edx
test word [ecx + 0xa], ax
je 0x100b036e
mov eax, dword [esp + 0x10]
inc dword [eax + 0x2c]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x2c], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b0307
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0336
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov eax, dword [edi + 0x6c]
mov esi, dword [ecx + 0x2c]
mov dword [ecx + 0x30], eax
add esi, esi
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x2c], esi
mov ecx, dword [esp + 0x60]
movzx ecx, cx
mov eax, dword [eax + 0x1c]
cmp byte [ecx + eax], 1
mov eax, dword [ebp + 0x10]
sete dl
xor edx, dword [esp + 0x6c]
or edx, esi
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x1c], 0
mov esi, edx
jne 0x100b03b2
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
movzx ecx, ax
mov eax, dword [esi + 4]
movsx ecx, word [eax + ecx*2]
mov dword [esp + 0x24], ecx
test ecx, ecx
js 0x100b03a4
mov eax, dword [esi + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
je 0x100b03ab
mov ecx, dword [esp + 0x24]
mov esi, edx
cmp ecx, 0xfffffffe
jne 0x100b03b2
mov byte [esp + 0x17], 1
mov esi, edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x2c]
test al, 0x30
jne 0x100b044f
test eax, 0x80000
je 0x100b044f
mov ecx, dword [esp + 0x10]
mov esi, 1
mov eax, dword [ebp + 0x10]
mov byte [esp + 0x17], 1
inc dword [ecx + 0x2c]
cmp dword [eax], 0
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x74], edx
mov dword [eax + 0x24], edx
je 0x100b0442
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b040b
push 0
push edx
push 0
lea edx, [esi + 0x46]
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b043e
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
dec eax
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x28], eax
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
cmp ax, word [edx + 0x34]
jae 0x100b04a7
movzx ecx, ax
mov eax, dword [edx + 0x1c]
xor edx, edx
cmp byte [ecx + eax], dl
sete dl
cmp dword [esp + 0x6c], edx
jne 0x100b04a7
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x17]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x87], al
mov eax, dword [esp + 0x3c]
movzx ecx, cx
movzx eax, al
mov byte [esp + 0x17], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], eax
cmp dword [ebp + 0xc], 0
jle 0x100b050e
mov eax, dword [esp + 0x30]
test dword [eax + 0x2c], 0x100000
je 0x100b050e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b04db
push 0
push 0
push dword [esp + 0x60]
mov edx, 0x88
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b050e
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x88
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push esi
push dword [esp + 0x74]
mov esi, dword [ebp + 0x10]
mov edx, esi
call fcn.100ae920
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, eax
mov dword [esp + 0x64], edx
test ecx, ecx
je 0x100b05a5
cmp word [esp + 0x48], 0
je 0x100b05a5
mov eax, dword [esp + 0x60]
movzx eax, ax
add eax, ecx
mov dword [esp + 0x24], eax
jne 0x100b0556
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x100b05a5
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b0560
mov eax, dword [esp + 0x78]
sub ecx, edx
push 0
lea esi, [ecx + 1]
push esi
test eax, eax
je 0x100b0580
mov ecx, eax
call fcn.1001ec50
jmp 0x100b0585
call fcn.1001e4e0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100b059e
push esi
push dword [esp + 0x28]
push eax
call fcn.1012ad80
add esp, 0xc
mov edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
cmp dword [esp + 0x74], 0
je 0x100b05b5
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x68], ecx
jmp 0x100b05bc
mov eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100b05d2
test byte [eax + 0xc], 0x28
mov dword [esp + 0x70], 0
je 0x100b05da
mov dword [esp + 0x70], 1
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x100b05f0
test byte [ecx + 0xc], 0x28
mov dword [esp + 0x18], 0
je 0x100b05f8
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x60]
test eax, eax
jne 0x100b0650
test cx, cx
jne 0x100b0650
movzx esi, cx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], esi
mov al, byte [esp + 0x17]
test al, al
je 0x100b07c8
movzx edx, cx
add edx, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x70], 0
cmp dword [edi + 0x70], ecx
jg 0x100b07b9
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0827
movzx esi, cx
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], esi
test eax, eax
je 0x100b0610
mov eax, dword [eax]
movzx ecx, cx
add ecx, edx
mov dword [esp + 0x5c], ecx
mov esi, dword [eax + 0x10]
mov edx, esi
mov eax, dword [esp + 0x3c]
movzx eax, ax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100aef80
mov eax, dword [esp + 0x24]
mov ecx, 0x100
add esp, 8
test word [eax + 0xa], cx
je 0x100b06df
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100b06ab
mov edx, 0x10168a6c
mov ecx, 0x10168a62
jmp 0x100b06c3
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea edx, [ecx - 2]
lea ecx, [ecx*4 - 0x12]
add ecx, eax
lea edx, [eax + edx*4]
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 + 0x1c]
test byte [eax + 0xa], 0x80
jne 0x100b0743
mov ecx, esi
call fcn.1005e990
test eax, eax
je 0x100b0743
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x5c]
cmp dword [edi + 0x70], ecx
jg 0x100b0714
push 0
push dword [esp + 0x6c]
mov ecx, edi
push edx
mov edx, 0x32
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0743
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x100b0766
mov eax, dword [esp + 0x60]
movzx eax, ax
add eax, ecx
mov ecx, esi
push eax
mov eax, dword [esp + 0x40]
movzx edx, ax
call fcn.100adec0
add esp, 4
mov eax, dword [esp + 0x3c]
movzx eax, ax
add dword [esp + 0x40], eax
mov al, byte [esi]
cmp al, 0xb0
jne 0x100b077a
mov al, byte [esi + 2]
cmp al, 0xb1
jne 0x100b0783
mov eax, dword [esi + 0x14]
jmp 0x100b078d
cmp al, 0x8a
jne 0x100b07a5
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100b07a5
xor al, al
mov dword [esp + 0x70], 1
mov byte [esp + 0x17], al
jmp 0x100b0838
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x10]
call fcn.100ade50
xor al, al
mov byte [esp + 0x17], al
jmp 0x100b0838
mov esi, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
jmp 0x100b0801
cmp dword [esp + 0x74], 0
je 0x100b0838
movzx edx, cx
add edx, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b07f4
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0827
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov al, byte [esp + 0x17]
inc esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], 1
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov esi, dword [esp + 0x20]
movzx eax, al
sub edx, eax
mov eax, dword [esp + 0x64]
test esi, esi
je 0x100b0893
test edx, edx
jle 0x100b085f
cmp byte [esi], 0x41
jg 0x100b085f
dec edx
inc eax
inc esi
test edx, edx
jg 0x100b0853
cmp edx, 1
jle 0x100b0871
cmp byte [edx + esi - 1], 0x41
jg 0x100b0875
dec edx
cmp edx, 1
jg 0x100b0864
test edx, edx
jle 0x100b0893
push edx
push esi
push 0
push edx
push eax
mov eax, dword [esp + 0x24]
mov edx, 0x60
mov ecx, dword [eax + 8]
call fcn.100442c0
mov ecx, dword [esp + 0x54]
add esp, 0x14
mov eax, dword [esp + 0x30]
movzx eax, word [eax + 0x32]
test ax, ax
je 0x100b08a8
cmp ecx, eax
je 0x100b0cc3
mov edx, dword [esp + 0x74]
test edx, edx
je 0x100b08fd
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b08ce
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b08fd
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x6c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x24], eax
test eax, eax
je 0x100b09c5
mov ecx, dword [esi]
mov dword [esp + 0x3c], ecx
cmp dword [edi + 0x70], ecx
jg 0x100b0941
mov edx, dword [esp + 0x64]
mov ecx, edi
push edx
push dword [esp + 0x6c]
mov edx, 0x40
push eax
call fcn.10043eb0
lea edx, [edi + 0x68]
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x5c], edx
jmp 0x100b0980
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*4 + 0xc], edx
lea edx, [edi + 0x68]
mov dword [eax + ecx*4], 0x40
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b09a2
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
lea esi, [edi + 0x6c]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x60]
movzx eax, ax
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [ebp + 8]
push eax
push dword [esp + 0x70]
push dword [ebp + 0xc]
call fcn.100af0f0
add esp, 0x10
lea edx, [edi + 0x68]
jmp 0x100b09cc
lea edx, [edi + 0x68]
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x6c]
test dword [edi + 0x2c], 0x100000
mov edi, dword [esp + 0x38]
mov al, byte [ecx + eax*2 + 0x1015226c]
mov ecx, esi
mov byte [esp + 0x2b], al
movzx eax, al
mov dword [esp + 0x88], eax
mov dword [esp + 0x3c], ecx
je 0x100b0b0f
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], edx
cmp eax, 0x17
jne 0x100b0b0f
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov ecx, dword [esi]
sar edx, 2
mov eax, edx
mov dword [esp + 0x50], ecx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
cmp dword [edi + 0x70], ecx
jg 0x100b0a66
push 0
push 0
push eax
mov edx, 0x7c
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
mov dword [esp + 0x50], eax
lea edx, [edi + 0x68]
jmp 0x100b0a9e
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x7c
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x1c], 0
mov ecx, esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], ecx
je 0x100b0b0f
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], edx
test eax, eax
jle 0x100b0ada
lea ecx, [eax + eax*4]
mov esi, 1
mov eax, dword [edx]
mov word [eax + ecx*4 - 0x12], si
lea ecx, [edi + 0x6c]
lea eax, [edi + 0x68]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], eax
mov eax, dword [edi]
mov esi, dword [ecx]
inc esi
cmp byte [eax + 0x57], 0
je 0x100b0aec
mov eax, 0x10168a60
jmp 0x100b0afc
mov eax, dword [esp + 0x50]
lea ecx, [eax + eax*4]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [eax + 8], esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], edx
mov esi, dword [ecx]
mov dword [esp + 0x24], esi
cmp dword [edi + 0x70], esi
jg 0x100b0b3f
push dword [esp + 0x64]
mov edx, dword [esp + 0x8c]
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043eb0
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, eax
jmp 0x100b0b7e
lea eax, [esi + 1]
mov dword [ecx], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx]
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x2b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
lea eax, [edi + 0x70]
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
mov dword [esp + 0x34], esi
cmp byte [eax + 0x57], 0
jne 0x100b0bb9
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], esi
mov esi, dword [esp + 0x3c]
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [edi + 0x6c]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x70]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100b0cc7
mov ecx, dword [esi]
lea eax, [ecx + 2]
mov dword [esp + 0x88], eax
cmp dword [edi + 0x70], ecx
jg 0x100b0bec
push 0
push eax
push 0
mov edx, 9
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0c20
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x88]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x6c]
mov eax, 1
cmp eax, dword [esp + 0x40]
mov esi, dword [esp + 0x5c]
sbb eax, eax
and eax, 4
mov al, byte [eax + ecx + 0x1015226e]
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x2b], al
mov edx, dword [ecx]
cmp dword [esi], edx
jg 0x100b0c68
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b0ca4
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x2b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b0cc3
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x70]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
movzx esi, cx
mov dword [esp + 0x5c], esi
test edx, edx
je 0x100b0ea6
cmp dword [esp + 0x50], 0
lea esi, [edi + 0x6c]
mov eax, dword [edx]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x34], edx
je 0x100b0cfd
mov ecx, dword [ebp + 0x10]
mov eax, dword [esi]
mov dword [ecx + 0x44], eax
mov ecx, dword [esp + 0x60]
movzx eax, cx
mov ecx, dword [esp + 0x64]
add ecx, eax
mov eax, dword [esp + 0x48]
movzx eax, ax
push eax
mov dword [esp + 0x40], ecx
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100aef80
mov eax, dword [esp + 0x54]
mov ecx, 0x100
add esp, 8
mov dword [esp + 0x70], esi
test word [eax + 0xa], cx
je 0x100b0d80
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100b0d46
mov edx, 0x10168a6c
mov ecx, 0x10168a62
jmp 0x100b0d5d
mov eax, dword [esi]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea edx, [ecx - 2]
lea ecx, [ecx*4 - 0x12]
add ecx, eax
lea edx, [eax + edx*4]
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
lea eax, [edi + 0x6c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x4c]
test byte [eax + 0xa], 0x80
jne 0x100b0de8
mov ecx, dword [esp + 0x34]
call fcn.1005e990
test eax, eax
je 0x100b0de8
mov ecx, dword [esi]
mov esi, dword [esp + 0x3c]
cmp dword [edi + 0x70], ecx
jg 0x100b0db6
push 0
push dword [esp + 0x6c]
mov edx, 0x32
mov ecx, edi
push esi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0de8
mov edx, dword [esp + 0x70]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x100b0e5c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
push esi
movzx edx, ax
call fcn.100adec0
mov ecx, dword [esp + 0x64]
add esp, 4
mov eax, dword [esp + 0x48]
movzx ecx, cx
add ecx, dword [esp + 0x64]
movzx eax, ax
test eax, eax
je 0x100b0e2c
nop word [eax + eax]
cmp byte [esi], 0x41
jg 0x100b0e2c
dec eax
inc ecx
inc esi
test eax, eax
jg 0x100b0e20
cmp eax, 1
jle 0x100b0e3e
cmp byte [eax + esi - 1], 0x41
jg 0x100b0e42
dec eax
cmp eax, 1
jg 0x100b0e31
test eax, eax
jle 0x100b0e5c
push eax
push esi
push 0
push eax
mov eax, dword [esp + 0x20]
mov edx, 0x60
push ecx
mov ecx, dword [eax + 8]
call fcn.100442c0
add esp, 0x14
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
movzx eax, ax
add esi, eax
mov al, byte [ecx]
cmp al, 0xb0
jne 0x100b0e76
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100b0e7f
mov eax, dword [ecx + 0x14]
jmp 0x100b0e89
cmp al, 0x8a
jne 0x100b0e98
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100b0e98
mov dword [esp + 0x18], 1
jmp 0x100b0f11
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x10]
call fcn.100ade50
jmp 0x100b0f11
cmp byte [esp + 0x87], 0
je 0x100b0f11
test eax, eax
jne 0x100b0f10
movzx esi, cx
add esi, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b0ed5
push eax
push esi
push eax
lea edx, [eax + 0x4b]
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0f04
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x18], 0
inc esi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100b0f24
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1001e860
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100b0f37
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1001e860
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x100b0f46
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x44], eax
test esi, esi
je 0x100b105b
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100b0fa9
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 3]
cmp dword [edi + 0x70], ecx
jg 0x100b0f76
push 0
push edx
push eax
mov edx, 0x11
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b0fa9
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x74]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
mov edx, dword [edi + 0x6c]
mov al, byte [eax + ecx*2 + str.___]
mov byte [esp + 0x2b], al
cmp dword [edi + 0x70], edx
jg 0x100b0fe1
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b101e
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x2b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b1035
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x100b105b
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b104f
mov eax, 0x10168a60
jmp 0x100b1058
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100b1150
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 2]
cmp dword [edi + 0x70], ecx
jg 0x100b1087
push 0
push edx
push eax
mov edx, 0x10
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b10ba
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x74]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x10
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, byte [esp + 0x17]
mov ecx, dword [esp + 0x6c]
mov edx, dword [edi + 0x6c]
mov al, byte [eax + ecx*2 + str.___]
mov byte [esp + 0x2b], al
cmp dword [edi + 0x70], edx
jg 0x100b10f3
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b1130
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x2b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b1150
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
lea ecx, [eax + ecx*4]
movzx eax, byte [esp + 0x17]
add eax, esi
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x30]
test dword [eax + 0x2c], 0x40000
je 0x100b11b9
mov eax, dword [esp + 0x60]
mov ecx, dword [edi + 0x6c]
movzx edx, ax
movzx esi, ax
cmp dword [edi + 0x70], ecx
jg 0x100b1186
push edx
push esi
push dword [esp + 0x60]
mov edx, 0x7d
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b11b5
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x58]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x7d
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
test byte [eax + 0x2c], 0x40
mov eax, dword [ebp + 8]
je 0x100b121e
mov ecx, 0x1020
test word [eax + 0x28], cx
jne 0x100b121e
mov dword [esp + 0x2c], 1
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0
jne 0x100b1204
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x100b1204
push dword [esp + 0x80]
mov edx, eax
call fcn.100af070
mov edx, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x2c], 0x1000
je 0x100b1481
mov byte [edx + 0x3d], 0xb8
jmp 0x100b148e
mov edx, dword [esp + 0x7c]
xor ecx, ecx
mov esi, dword [edx + 0xc]
test byte [esi + 0x1c], 0x80
jne 0x100b124a
mov esi, dword [esp + 0x58]
mov ecx, eax
push esi
push dword [esp + 0x48]
call fcn.100aee10
add esp, 8
mov dword [esp + 0x2c], 0
jmp 0x100b11d9
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
cmp eax, dword [esp + 0x58]
je 0x100b1478
mov esi, dword [esi + 8]
mov dword [esp + 0x2c], ecx
test esi, esi
je 0x100b1280
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b1280
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b1270
movzx ecx, word [esi + 0x32]
cmp ecx, 1
jne 0x100b12b5
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b12a0
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x50], eax
jmp 0x100b12f8
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x50], eax
jmp 0x100b12f8
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x50], eax
cmp ecx, edx
jg 0x100b12dd
mov edi, dword [esp + 0x10]
add eax, ecx
sub edx, ecx
mov dword [edi + 0x20], eax
mov eax, edi
mov edi, dword [esp + 0x38]
mov dword [eax + 0x1c], edx
jmp 0x100b12f4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov dword [ecx + 0x2c], eax
mov edx, dword [esp + 0x7c]
movzx eax, word [esi + 0x32]
mov dword [esp + 0x88], 0
mov ecx, eax
mov dword [esp + 0x20], 0
cmp word [esp + 0x88], ax
jae 0x100b13f1
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
jmp 0x100b1334
mov edx, dword [esp + 0x7c]
movzx edx, word [edx + 0x34]
xor ecx, ecx
test edx, edx
je 0x100b1378
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x20]
movzx eax, word [eax + edi*2]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 4]
nop word [eax + eax]
mov edi, dword [esp + 0x88]
cmp di, word [eax]
mov edi, dword [esp + 0x38]
je 0x100b13a0
inc ecx
add eax, 2
cmp ecx, edx
jl 0x100b1360
or eax, 0xffffffff
mov ecx, dword [edi + 0x6c]
movsx edx, ax
cmp dword [edi + 0x70], ecx
jg 0x100b13a5
push dword [esp + 0x18]
mov ecx, edi
push edx
push dword [esp + 0x60]
mov edx, 0x5e
call fcn.10043eb0
add esp, 0xc
jmp 0x100b13d8
movzx eax, cx
jmp 0x100b137b
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x58]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x20]
movzx ecx, word [esi + 0x32]
inc edx
inc dword [esp + 0x18]
mov dword [esp + 0x20], edx
cmp edx, ecx
jl 0x100b1330
mov edx, dword [edi + 0x6c]
movzx esi, cx
cmp dword [edi + 0x70], edx
jg 0x100b141e
push dword [esp + 0x50]
mov edx, 0x1c
mov ecx, edi
push dword [esp + 0x98]
push dword [esp + 0x4c]
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b1458
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x94]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x1c
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b11d5
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
jmp 0x100b11d5
mov esi, dword [esp + 0x58]
jmp 0x100b11dd
cmp dword [esp + 0x6c], 0
sete al
add al, 0x26
mov byte [edx + 0x3d], al
mov dword [edx + 0x40], esi
mov al, byte [ecx + 0x2e]
and al, 1
mov byte [edx + 0x3e], al
test byte [ecx + 0x2c], 0xf
jne 0x100b14a3
mov byte [edx + 0x3f], 1
cmp dword [esp + 0x2c], 0
je 0x100b21f9
xor eax, eax
mov dword [esp + 0x7c], eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
test edx, 0x2000
je 0x100b2124
mov ecx, dword [esp + 0x10]
xor edx, edx
lea esi, [ecx + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x74], 0
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x58], eax
inc eax
mov dword [ecx + 0x28], eax
mov eax, dword [esi]
inc eax
mov dword [esp + 0x40], 0
mov dword [esi], eax
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x38]
dec eax
mov dword [esp + 0x4c], 0
mov dword [ecx + 0x38], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x68], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x3d], 0x43
mov dword [edx + 0x40], eax
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2c]
cmp al, 1
jbe 0x100b1648
mov ecx, dword [esp + 0x78]
movzx eax, al
sub eax, dword [ebp + 0xc]
dec eax
mov dword [esp + 0x88], eax
push 0
lea eax, [eax + eax*8]
lea eax, [eax*8 + 0x50]
push eax
call fcn.1001ec50
mov ecx, eax
add esp, 8
mov dword [esp + 0x70], ecx
test ecx, ecx
jne 0x100b1597
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x88]
lea eax, [edx + 1]
movzx eax, al
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov eax, dword [esp + 0x90]
movups xmm0, xmmword [eax]
movups xmmword [ecx + 8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x18], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x28], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ecx + 0x38], xmm0
movq xmm0, qword [eax + 0x40]
mov eax, dword [ebp + 8]
movq qword [ecx + 0x48], xmm0
mov eax, dword [eax + 4]
add eax, 8
cmp edx, 1
jl 0x100b163f
mov esi, dword [ebp + 0x10]
add ecx, 0x50
add esi, 0x9c
mov edi, eax
movzx eax, byte [esi]
lea esi, [esi + 0x60]
lea ecx, [ecx + 0x48]
lea eax, [eax + eax*8]
movups xmm0, xmmword [edi + eax*8]
movups xmmword [ecx - 0x48], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x10]
movups xmmword [ecx - 0x38], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x20]
movups xmmword [ecx - 0x28], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x30]
movups xmmword [ecx - 0x18], xmm0
movq xmm0, qword [edi + eax*8 + 0x40]
movq qword [ecx - 8], xmm0
sub edx, 1
jne 0x100b15f5
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
add esi, 0x2c
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
jmp 0x100b164f
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
test byte [edx + 0x28], 0x10
jne 0x100b17d0
test byte [ecx + 0x1c], 0x80
jne 0x100b16e3
inc dword [esi]
mov edx, dword [esi]
lea esi, [edi + 0x6c]
mov ecx, dword [esi]
mov dword [esp + 0x40], edx
cmp dword [edi + 0x70], ecx
jg 0x100b169d
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043eb0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [edx + 0x2c]
inc ecx
mov dword [esp + 0x4c], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100b17d3
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edx + 0x2c]
inc ecx
mov dword [esp + 0x4c], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100b17d3
mov esi, dword [ecx + 8]
test esi, esi
je 0x100b1700
nop word [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b1700
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b16f0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x40], eax
inc eax
mov dword [ecx + 0x28], eax
movzx eax, word [esi + 0x32]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x88], eax
cmp dword [edi + 0x70], edx
jg 0x100b173a
push 0
push eax
push dword [esp + 0x48]
mov edx, 0x76
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b1770
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov edx, esi
mov eax, dword [ecx + 8]
mov dword [esp + 0x88], eax
call fcn.100787d0
mov esi, eax
test esi, esi
je 0x100b17bc
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x100b17aa
push esi
mov edx, 0xfffffff8
call fcn.10044b10
add esp, 4
jmp 0x100b17bc
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], esi
mov edx, dword [esp + 0x10]
lea esi, [edi + 0x6c]
mov ecx, dword [edx + 0x2c]
inc ecx
mov dword [esp + 0x4c], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100b17d3
lea esi, [edi + 0x6c]
mov edx, dword [esi]
mov dword [esp + 0x30], edx
cmp dword [edi + 0x70], edx
jg 0x100b17fb
push 0
push dword [esp + 0x30]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.10043eb0
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x100b182d
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x80]
cmp dword [eax + 0xc], 1
jle 0x100b193a
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x18], ecx
xor edi, edi
mov eax, dword [eax + 0x18]
add eax, esi
mov edx, dword [eax]
cmp eax, dword [esp + 0x24]
je 0x100b18a2
mov edi, 0x8006
test word [eax + 0xa], di
mov edi, dword [esp + 0x3c]
jne 0x100b18a2
mov ecx, 0x3fff
test word [eax + 0xc], cx
mov ecx, dword [esp + 0x18]
je 0x100b18a2
test dword [edx + 4], 0x400000
jne 0x100b18a2
mov ecx, dword [esp + 0x78]
push 0
push 0
call fcn.1005d3f0
mov ecx, dword [esp + 0x18]
mov edx, edi
push eax
call fcn.1005c9e0
mov ecx, dword [esp + 0x24]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x80]
inc ecx
add esi, 0x30
mov dword [esp + 0x18], ecx
cmp ecx, dword [eax + 0xc]
jl 0x100b1848
test edi, edi
mov edi, dword [esp + 0x38]
je 0x100b193a
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.1001ec50
mov esi, eax
add esp, 8
test esi, esi
je 0x100b1927
push 0x34
push 0
push esi
call fcn.101298f0
mov edx, dword [esp + 0x48]
or eax, 0xffffffff
mov word [esi + 0x22], ax
add esp, 0xc
mov dword [esi + 0x10], edx
mov byte [esi], 0x2c
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x10]
inc ecx
mov dword [esi + 0x18], ecx
mov eax, dword [edx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x100b1936
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.100224e0
add esp, 0xc
jmp 0x100b1936
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
call fcn.1005d180
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10]
push str.MULTI_INDEX_OR
push 1
push esi
call fcn.10044540
mov edx, dword [esp + 0x40]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x48], ecx
cmp dword [edx + 0xc], ecx
jle 0x100b19d8
nop dword [eax]
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [edx + 0x18]
mov edx, dword [esp + 0x44]
cmp dword [eax + 0x14], edx
je 0x100b197d
mov edx, 0x400
test word [eax + 0xc], dx
je 0x100b19c8
mov edx, dword [eax]
mov dword [esp + 0x5c], 0
test edx, edx
je 0x100b19a3
mov ecx, dword [esp + 0x78]
push 0
push 0
call fcn.1005d3f0
mov ecx, dword [esp + 0x50]
add esp, 8
mov esi, eax
jmp 0x100b19a5
xor esi, esi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x54], esi
cmp byte [eax + 0x57], 0
je 0x100b19ed
test esi, esi
je 0x100b19c4
mov edx, esi
mov ecx, eax
call fcn.1005d180
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
inc ecx
mov dword [esp + 0x48], ecx
mov edx, eax
cmp ecx, dword [eax + 0xc]
jl 0x100b1960
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x100b1f3f
xor eax, eax
jmp 0x100b1f5d
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100b19fa
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.10044540
push dword [esp + 0x68]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x24]
push 0x20
push 0
push 0
push 0
push esi
call fcn.100be480
mov esi, eax
add esp, 0x28
mov dword [esp + 0x50], esi
test esi, esi
je 0x100b1f1f
mov edx, dword [esp + 0x70]
lea ecx, [esi + 0x2f8]
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100ad7d0
mov eax, dword [ebp + 8]
add esp, 8
test byte [eax + 0x28], 0x10
jne 0x100b1ded
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
mov eax, dword [eax + 0xc]
dec eax
cmp esi, eax
mov eax, 0xffffffff
cmove esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], esi
test byte [eax + 0x1c], 0x80
jne 0x100b1b64
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b1aad
push 0
push dword [esp + 0x50]
mov edx, 0x87
mov ecx, edi
push dword [esp + 0x4c]
call fcn.10043eb0
add esp, 0xc
jmp 0x100b1ae0
mov edx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x5c], edx
cmp dword [edi + 0x70], edx
jg 0x100b1b0d
push dword [esp + 0x4c]
mov edx, 0x2f
mov ecx, edi
push 0
push dword [esp + 0x48]
call fcn.10043eb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x5c], edx
jmp 0x100b1b44
mov esi, dword [esp + 0x40]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x2f
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b1de9
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
jmp 0x100b1de9
mov ecx, eax
call fcn.10070300
mov dword [esp + 0x88], eax
movzx ecx, word [eax + 0x32]
mov esi, ecx
mov eax, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], esi
cmp esi, 1
jne 0x100b1bb7
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b1ba0
inc dword [ecx + 0x2c]
xor esi, esi
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x100b1c00
dec al
xor esi, esi
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x1c], edx
jmp 0x100b1c00
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x1c], edx
cmp esi, ecx
jg 0x100b1be0
mov edi, dword [esp + 0x10]
lea eax, [edx + esi]
sub ecx, esi
mov dword [edi + 0x20], eax
mov eax, edi
mov edi, dword [esp + 0x38]
mov dword [eax + 0x1c], ecx
jmp 0x100b1bf3
mov eax, dword [eax + 0x2c]
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
add eax, esi
mov dword [esp + 0x1c], edx
mov dword [ecx + 0x2c], eax
xor eax, eax
xor esi, esi
cmp ax, word [esp + 0x64]
jae 0x100b1c30
nop
lea eax, [esi + edx]
mov ecx, edi
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push dword [esp + 0x4c]
call fcn.10061ab0
mov edx, dword [esp + 0x28]
inc esi
add esp, 0xc
cmp esi, dword [esp + 0x60]
jl 0x100b1c00
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100b1cbe
mov esi, dword [edi + 0x6c]
mov dword [esp + 0x5c], esi
cmp dword [edi + 0x70], esi
jg 0x100b1c6a
push edx
push 0
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, edi
call fcn.10043eb0
mov edx, dword [esp + 0x28]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x5c], esi
jmp 0x100b1c9d
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b1cb8
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x60]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [esp + 0x18]
test eax, eax
js 0x100b1dac
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b1ce7
mov esi, dword [esp + 0x4c]
mov ecx, edi
push esi
push dword [esp + 0x64]
push edx
mov edx, 0x61
call fcn.10043eb0
add esp, 0xc
jmp 0x100b1d16
mov esi, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x100b1d3e
mov esi, dword [esp + 0x1c]
mov edx, 0x8a
push esi
push dword [esp + 0x50]
mov ecx, edi
push dword [esp + 0x48]
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b1d71
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b1d8c
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x60]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
cmp dword [esp + 0x18], 0
je 0x100b1db0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100b1db0
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x100b1db0
mov esi, dword [esp + 0x1c]
cmp word [esp + 0x64], 1
jne 0x100b1dd6
test esi, esi
je 0x100b1de9
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x100b1de9
movzx eax, al
mov dword [edx + eax*4 + 0xa0], esi
inc byte [edx + 0x13]
jmp 0x100b1de9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
cmp eax, dword [edx + 0x1c]
jle 0x100b1de9
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], esi
mov esi, dword [esp + 0x50]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b1e10
push 0
push dword [esp + 0x70]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x34]
call fcn.10043eb0
add esp, 0xc
jmp 0x100b1e43
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x100b1e69
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b1e5d
mov eax, 0x10168a60
jmp 0x100b1e66
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x30]
mov ecx, 1
mov eax, dword [esp + 0x68]
test dl, 2
cmovne eax, ecx
mov ecx, dword [esi + 0x348]
mov dword [esp + 0x68], eax
test dword [ecx + 0x2c], 0x200
je 0x100b1ebd
cmp dword [esp + 0x48], 0
je 0x100b1e9e
mov eax, dword [esp + 0x74]
cmp dword [ecx + 0x20], eax
jne 0x100b1ebd
mov eax, dword [esp + 0x20]
test byte [eax + 0x1c], 0x80
je 0x100b1eb4
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x100b1ebd
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x74], eax
jmp 0x100b1ec5
mov dword [esp + 0x74], 0
test dl, 1
je 0x100b1ed1
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 1
mov ecx, esi
call fcn.100bf480
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x100b1ef0
xor eax, eax
mov dword [esi + 0xe4], eax
jmp 0x100b1f23
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100b1f0b
mov eax, 0x10168a60
mov eax, dword [eax + 8]
mov dword [esi + 0xe4], eax
jmp 0x100b1f23
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [esi + 0xe4], eax
jmp 0x100b1f23
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x100b1f36
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1005d180
mov ecx, dword [esp + 0x48]
jmp 0x100b19c8
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100b1f51
mov eax, 0x10168a60
jmp 0x100b1f5a
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [esi + 0xe4], eax
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x74]
mov dword [esi + 0x48], eax
test eax, eax
je 0x100b1f78
mov eax, dword [esp + 0x58]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100b1f92
mov ecx, dword [esp + 0x78]
mov edx, eax
mov dword [eax + 0xc], 0
call fcn.1005d180
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b1fa4
mov eax, 0x10168a60
jmp 0x100b1fb1
mov eax, dword [esp + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0xc]
cmp dword [edi + 0x70], ecx
jg 0x100b1fd5
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b2004
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x6c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100b2022
push edx
mov edx, edi
call fcn.10044790
add esp, 4
jmp 0x100b202b
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [edi + 0x6c]
mov edx, esi
mov dword [edx + 0x44], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x2c], 1
jbe 0x100b20f8
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
test ecx, ecx
je 0x100b2099
cmp esi, dword [ecx + 0x164]
jae 0x100b2087
cmp esi, dword [ecx + 0x15c]
jb 0x100b206f
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x100b20f8
cmp esi, dword [ecx + 0x160]
jb 0x100b2087
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x100b20f8
cmp dword [ecx + 0x210], 0
je 0x100b2099
mov edx, esi
call fcn.1001e760
jmp 0x100b20f5
test esi, esi
je 0x100b20f8
cmp dword [0x10165b38], 0
je 0x100b20eb
mov eax, dword [0x10168b88]
test eax, eax
je 0x100b20b9
push eax
call dword [0x10165b88]
add esp, 4
push esi
call dword [0x10165b64]
sub dword [0x10168a10], eax
add esp, 4
dec dword [0x10168a34]
push esi
call dword [0x10165b5c]
mov eax, dword [0x10168b88]
add esp, 4
test eax, eax
je 0x100b20f5
push eax
call dword [0x10165b90]
jmp 0x100b20f2
push esi
call dword [0x10165b5c]
add esp, 4
mov edx, dword [ebp + 0x10]
cmp dword [esp + 0x68], 0
jne 0x100afc88
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 0x10]
call fcn.100ade50
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0x10]
test byte [eax + 0x28], 0x40
je 0x100b214a
xor eax, eax
mov byte [edx + 0x3d], 0xb8
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov ecx, dword [esp + 0x6c]
movzx eax, byte [ecx + 0x1014f40c]
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x44]
mov dword [edx + 0x40], eax
mov al, byte [ecx + 0x1014f6e8]
mov edx, dword [edi + 0x6c]
mov byte [esp + 0x2b], al
cmp dword [edi + 0x70], edx
jg 0x100b21a3
push 0
push esi
push dword [esp + 0x4c]
movzx edx, al
mov ecx, edi
call fcn.10043eb0
mov edx, eax
add esp, 0xc
lea eax, [edx + 1]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x44], eax
xor eax, eax
neg eax
mov byte [edx + 0x3f], 1
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x2b]
mov byte [eax + 1], 0
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
lea eax, [edx + 1]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x44], eax
xor eax, eax
neg eax
mov byte [edx + 0x3f], 1
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov eax, dword [esp + 0x7c]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b2213
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x80]
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], eax
test eax, eax
jle 0x100b24b9
jmp 0x100b2237
mov edx, dword [ebp + 0x10]
xor eax, eax
test byte [esi + 0xa], 6
mov dword [esp + 0x20], eax
jne 0x100b24a5
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [edx + 0x58]
and eax, dword [edx + 0x5c]
or ecx, eax
je 0x100b2263
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 2
jmp 0x100b24a1
mov eax, dword [esp + 0x90]
mov edx, dword [esi]
mov dword [esp + 0x18], edx
mov al, byte [eax + 0x24]
test al, 0x58
je 0x100b2314
mov ecx, dword [edx + 4]
test cl, 3
je 0x100b24a1
test al, 8
je 0x100b2294
test cl, 1
je 0x100b24a1
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
cmp dword [ecx + 0x1f8], eax
jne 0x100b22ab
mov ecx, 1
xor edx, edx
jmp 0x100b22fd
mov edx, dword [ecx + 0x1f4]
mov eax, 1
mov dword [esp + 0x54], edx
cmp edx, eax
jle 0x100b22e3
add ecx, 0x1fc
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x24]
cmp dword [ecx], edi
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x54]
je 0x100b239b
inc eax
add ecx, 4
cmp eax, edx
jl 0x100b22c4
xorps xmm0, xmm0
movlpd qword [esp + 0x98], xmm0
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov eax, dword [ebp + 0x10]
and ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
and eax, edx
or ecx, eax
jne 0x100b24a1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x100b23b5
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
movlpd qword [esp + 0xa8], xmm0
movlpd qword [esp + 0xb0], xmm0
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
mov dword [esp + 0xa4], 0x10065fd0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x100b2382
lea ecx, [esp + 0xa0]
call fcn.10058100
cmp word [esp + 0xb4], 0
je 0x100b23ba
mov ecx, 2
mov dword [esp + 0x4c], ecx
jmp 0x100b24a5
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 0x100b22fd
cmp eax, 3
jge 0x100b23df
mov eax, 0x1000
test word [esi + 0xa], ax
je 0x100b23df
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x100b24a5
mov ecx, 3
mov dword [esp + 0x4c], ecx
jmp 0x100b24a5
mov eax, 0x200
test word [esi + 0xa], ax
je 0x100b245d
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x100b245d
mov ecx, dword [edi + 0x6c]
mov eax, edx
and edx, 1
shr eax, 1
or edx, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], ecx
cmp dword [edi + 0x70], ecx
jg 0x100b2423
push 0
push 0
push eax
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x100b245d
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x10], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
mov byte [eax + 1], 0
push 0x10
push dword [esp + 0x98]
push dword [esp + 0x20]
push dword [esp + 0x1c]
call fcn.100651a0
mov ecx, dword [esp + 0x30]
add esp, 0x10
test ecx, ecx
je 0x100b249c
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b2490
mov eax, 0x10168a60
jmp 0x100b2499
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
or word [esi + 0xa], 4
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
add esi, 0x30
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jg 0x100b2234
mov dword [esp + 0x34], ecx
test ecx, ecx
jg 0x100b2210
mov esi, dword [esp + 0x80]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x2c], edx
test edx, edx
jle 0x100b25f1
mov edi, eax
test byte [edi + 0xa], 6
jne 0x100b25dd
movzx eax, word [edi + 0xc]
mov esi, 0xb
test al, 0x82
setne cl
bt ax, si
mov esi, dword [esp + 0x80]
setb al
test al, cl
je 0x100b25dd
mov ecx, dword [esp + 0x44]
cmp dword [edi + 0x14], ecx
jne 0x100b25dd
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x58
jne 0x100b25dd
mov eax, dword [edi]
mov edx, ecx
push 0
push 0x83
push dword [ebp + 0x18]
mov ecx, esi
mov dword [esp + 0x60], eax
push dword [ebp + 0x14]
push dword [edi + 0x18]
call fcn.100b70f0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100b25d9
test byte [esi + 0xa], 4
jne 0x100b25d9
test byte [esi + 0xc], 1
je 0x100b257a
mov eax, dword [esi]
test dword [eax + 4], 0x1000
je 0x100b257a
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100b25d9
mov eax, dword [esi]
push 0x10
push dword [esp + 0x98]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xb8], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0xc8], xmm0
mov eax, dword [eax + 0x30]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x1c]
call fcn.100651a0
add esp, 0x10
or word [esi + 0xa], 4
mov edx, dword [esp + 0x2c]
dec edx
add edi, 0x30
mov dword [esp + 0x2c], edx
test edx, edx
jg 0x100b24e0
mov edi, dword [esp + 0x38]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x34], eax
test eax, eax
je 0x100b2a5c
movzx eax, byte [ecx + 0x3c]
lea ecx, [eax + eax*8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8 + 0x18]
mov dword [esp + 0x88], eax
test byte [eax + 0x1c], 0x80
jne 0x100b26c3
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x1c]
mov esi, dword [edx + 0x20]
cmp ecx, 2
jl 0x100b2642
lea eax, [esi + 2]
mov dword [edx + 0x20], eax
lea eax, [ecx - 2]
mov dword [edx + 0x1c], eax
jmp 0x100b264e
mov eax, dword [edx + 0x2c]
lea esi, [eax + 1]
add eax, 2
mov dword [edx + 0x2c], eax
mov eax, dword [ebp + 0x10]
lea edx, [esi + 1]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x70], ecx
jg 0x100b2683
push 0
push edx
push eax
mov edx, 0x87
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x100b27a7
lea eax, [ecx + 1]
mov dword [esp + 0x1c], 1
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100b27a7
mov esi, dword [eax + 8]
test esi, esi
je 0x100b26e0
nop word [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b26e0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b26d0
movzx eax, word [esi + 0x32]
mov dword [esp + 0x1c], eax
lea ecx, [eax + 1]
cmp ecx, 1
jne 0x100b2714
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b2703
inc dword [ecx + 0x2c]
mov edx, dword [ecx + 0x2c]
jmp 0x100b2758
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa0]
jmp 0x100b2758
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], eax
cmp ecx, eax
jg 0x100b2745
mov edi, dword [esp + 0x10]
lea eax, [ecx + edx]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x54]
sub eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x38]
mov dword [ecx + 0x1c], eax
jmp 0x100b275c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x2c], eax
mov dword [esp + 0x2c], edx
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x1c], ecx
jbe 0x100b27a3
lea eax, [edx + 1]
mov dword [esp + 0x54], eax
nop
mov edx, dword [esp + 0x88]
add eax, ecx
push eax
mov eax, dword [esi + 4]
movsx eax, word [eax + ecx*2]
mov ecx, edi
push eax
push dword [esp + 0x4c]
call fcn.10061ab0
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 0x54]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [esp + 0x1c]
jl 0x100b2770
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
lea eax, [esi + 1]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x2c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
cmp dword [edi + 0x70], edx
jg 0x100b27dd
push eax
mov edx, ecx
mov ecx, edi
push 0
push edx
mov edx, 0x1d
call fcn.10043eb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x2c], edx
jmp 0x100b2813
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
lea edx, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
lea ecx, [edi + 0x6c]
mov dword [esp + 0x18], ecx
cmp byte [eax + 0x57], 0
jne 0x100b2841
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x1c]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
lea eax, [edi + 0x6c]
mov dword [esp + 0x18], eax
lea ecx, [edi + 0x6c]
jmp 0x100b2845
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x70], eax
jg 0x100b2867
push esi
push edx
lea eax, [esi + 1]
mov edx, 0x61
push eax
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
jmp 0x100b2896
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea edi, [esi + 1]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x34]
mov edx, dword [edi + 0x6c]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x70], edx
jg 0x100b28c1
lea eax, [esi + 1]
mov edx, 0x8a
push eax
push esi
push ecx
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
mov edx, eax
jmp 0x100b28f6
mov ecx, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edi
lea edi, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100b292b
lea eax, [edi + 0x68]
mov dword [esp + 0x70], eax
lea ecx, [edx + edx*4]
mov eax, dword [eax]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x10], edx
lea edx, [edi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [edi + 0x6c]
mov dword [esp + 0x20], eax
jmp 0x100b2932
lea edx, [edi + 0x68]
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x70], ecx
jg 0x100b296c
lea eax, [esi + 1]
mov edx, 0xb4
push eax
push 0
push dword [esp + 0x2c]
mov ecx, edi
call fcn.10043eb0
add esp, 0xc
lea edx, [edi + 0x68]
mov ecx, eax
jmp 0x100b29a8
mov edi, dword [esp + 0x20]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [edx]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edi
lea edi, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0xb4
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x54]
mov eax, dword [edi]
mov dword [esp + 0x24], edx
cmp byte [eax + 0x57], 0
jne 0x100b29cf
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x1c]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
lea eax, [edi + 0x68]
mov dword [esp + 0x24], eax
jmp 0x100b29d3
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
test ecx, ecx
jle 0x100b29fd
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0x10
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100b2a12
mov eax, 0x10168a60
jmp 0x100b2a22
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x54]
inc edx
mov dword [eax + 8], ecx
cmp edx, 1
jne 0x100b2a4d
test esi, esi
je 0x100b2a5c
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100b2a5c
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], esi
inc byte [ecx + 0x13]
jmp 0x100b2a5c
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jle 0x100b2a5c
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], esi
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x54], edx
test edx, edx
je 0x100b2af4
mov ecx, dword [ebp + 0x10]
lea esi, [edi + 0x6c]
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
lea eax, [edi + 0x70]
mov ecx, dword [esi]
mov dword [esp + 0x24], eax
cmp dword [eax], ecx
jg 0x100b2aa2
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043eb0
lea eax, [edi + 0x68]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100b2ada
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x38], 0
je 0x100b2b8e
mov eax, dword [eax + 0x38]
mov edx, esi
mov ecx, esi
mov dword [esp + 0x34], eax
jmp 0x100b2b1b
lea eax, [edi + 0x68]
mov dword [esp + 0x18], eax
lea ecx, [edi + 0x70]
mov eax, dword [ebp + 0x10]
lea edx, [edi + 0x6c]
mov dword [esp + 0x24], ecx
mov esi, edx
mov ecx, edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x34], eax
test eax, eax
je 0x100b2bf7
mov eax, dword [eax + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
cmp dword [eax], ecx
jg 0x100b2b46
mov edx, dword [esp + 0x20]
mov ecx, edi
push 0
push edx
push 0
mov edx, 0x4a
call fcn.10043eb0
add esp, 0xc
jmp 0x100b2b7b
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x4a
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [ecx + 0xc], eax
inc byte [edx + 0x1a]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x80]
xor edi, edi
mov esi, dword [ecx + 0x18]
cmp dword [ecx + 0x14], edi
jle 0x100b2bf7
jmp 0x100b2ba4
mov eax, dword [ebp + 0x10]
test byte [esi + 0xa], 6
jne 0x100b2be7
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 0x28]
and ecx, dword [eax + 0x58]
mov eax, dword [esi + 0x2c]
and eax, dword [edx + 0x5c]
or ecx, eax
mov edx, dword [esp + 0x10]
jne 0x100b2be7
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x40
jne 0x100b2be7
push 0x10
push dword [esp + 0x98]
push dword [esi]
push edx
call fcn.100651a0
add esp, 0x10
or word [esi + 0xa], 4
mov eax, dword [esp + 0x80]
inc edi
add esi, 0x30
cmp edi, dword [eax + 0x14]
jl 0x100b2ba1
mov ecx, dword [ebp + 0x10]
pop edi
pop esi
mov eax, dword [ecx + 0x58]
mov edx, dword [ecx + 0x5c]
mov esp, ebp
pop ebp
ret