Function at 0x100ba950
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 + 0x7c], 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 + 0x24], eax
movzx eax, byte [esi + 0x3c]
mov dword [esp + 0x28], edi
lea ecx, [edx + 0x50]
mov dword [esp + 0x88], 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 + 0x40], eax
cmp dword [edx + 0x1f8], eax
jne 0x100ba9be
mov ecx, 1
xor edx, edx
jmp 0x100baa08
mov edx, dword [edx + 0x1f4]
mov eax, 1
cmp edx, eax
jle 0x100ba9ee
mov ecx, dword [ebp + 8]
add ecx, 0x1fc
mov edi, dword [esp + 0x40]
cmp dword [ecx], edi
mov edi, dword [esp + 0x28]
je 0x100baa9c
inc eax
add ecx, 4
cmp eax, edx
jl 0x100ba9d6
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.1014a010
mov ecx, dword [esp + 0x10]
and eax, 1
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x58], 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 + 0x44], 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 0x100baae5
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 8
je 0x100baae5
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 0x100baab6
push 0
push edx
push 0
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100baae5
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 0x100baa08
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 0x100bab13
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 0x100bab13
cmp dword [eax], 0
jne 0x100bab13
dec ecx
sub eax, 0x60
test ecx, ecx
jg 0x100bab00
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 + 0x48], esi
test byte [eax + 0x28], 0x20
je 0x100bac19
mov ecx, dword [edi + 0x6c]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x100bab5b
push edx
push 0
push esi
mov edx, 0xb
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bab8a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 0x100babc8
push 0
push dword [esp + 0x48]
mov edx, 0xc
mov ecx, edi
push esi
call fcn.1004e9b0
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 + 0x70], eax
jmp 0x100bd695
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
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 + 0x70], eax
jmp 0x100bd695
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x2c]
test edx, 0x400
je 0x100bb213
movzx eax, word [eax + 0x30]
mov dword [esp + 0x44], eax
lea ecx, [eax + 2]
cmp ecx, 1
jne 0x100bac66
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100bac55
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov edx, eax
mov dword [esp + 0x20], eax
jmp 0x100baca0
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa4]
jmp 0x100bac9c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov dword [esp + 0x20], esi
cmp ecx, edx
jg 0x100bac8d
lea eax, [esi + ecx]
sub edx, ecx
mov esi, dword [esp + 0x10]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x20]
mov dword [esi + 0x20], eax
jmp 0x100baca0
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 + 0x20], edx
mov eax, dword [ebp + 0x10]
xor esi, esi
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], eax
cmp dword [esp + 0x44], esi
jbe 0x100bad71
mov eax, dword [esp + 0x24]
add edx, 2
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x100bad62
test byte [ecx + 0xc], 1
je 0x100bae00
cmp esi, 0x1f
ja 0x100bacf1
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x1c]
jmp 0x100bacf3
xor eax, eax
mov edi, dword [esp + 0x24]
test dword [edi + 0x28], eax
mov edi, dword [esp + 0x28]
je 0x100badd7
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov edx, dword [eax + 0x28]
mov dword [esp + 0x1c], 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 + 0x4c], eax
call fcn.1006a580
mov edi, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x3c]
add eax, esi
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bada0
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x20]
push eax
push edx
mov edx, 0xaf
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
inc esi
cmp esi, dword [esp + 0x44]
jl 0x100bacc1
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x20]
mov edx, dword [eax + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x100bae8c
push 0
push esi
push edx
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100baeb7
mov edx, dword [esp + 0x1c]
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 + 0x3c]
add edx, esi
mov dword [eax + ecx*4], 0xaf
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100bad5e
lea eax, [edx + esi]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push eax
push dword [esp + 0x5c]
push esi
push dword [ebp + 0x10]
call fcn.100b9830
mov eax, dword [ebp + 0x10]
add esp, 0x10
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], eax
jmp 0x100bad5e
lea eax, [edx + esi]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 1
push eax
mov edx, dword [edx + 0x10]
call fcn.100ba560
mov eax, dword [esp + 0x24]
add esp, 8
cmp byte [eax + 0xf], 0x4a
mov eax, dword [esp + 0x24]
jne 0x100bae83
test byte [eax + 0x1c], 2
je 0x100bae83
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 0x100bae4b
push 0
push edx
push 0
mov edx, 0x47
jmp 0x100bad54
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 0x100bad5e
mov edx, dword [esp + 0x3c]
jmp 0x100bad66
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 0x100baeda
push 0
push edx
push dword [esp + 0x4c]
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100baf0d
mov esi, 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], esi
mov esi, dword [esp + 0x20]
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 + 0x24]
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 + 0x70]
push dword [esp + 0x50]
call fcn.1004ee50
mov eax, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esp + 0x78]
and dword [eax + 0x1c], 0xfffffffe
cmp byte [ecx + 0x57], 0
je 0x100baf57
mov dword [eax + 0x24], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x40]
mov dword [edx + 0x40], eax
mov eax, 0x3f
cmp byte [ecx + 0x2e], 0
mov ecx, 0xb9
cmovne eax, ecx
xor ecx, ecx
mov byte [edx + 0x3d], al
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x44], eax
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x44], ecx
jbe 0x100bb201
lea eax, [esi + 2]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
nop dword [eax]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x70], edx
cmp ecx, 0x10
jae 0x100bafcb
mov ax, word [esi + 0x22]
shr ax, cl
test al, 1
je 0x100bafc7
mov ecx, dword [ebp + 0x10]
call fcn.100b9410
jmp 0x100bb1eb
mov ecx, dword [esp + 0x20]
test byte [edx + 0xc], 1
je 0x100bb1ef
cmp ecx, 0x1f
ja 0x100bafe3
mov eax, 1
shl eax, cl
jmp 0x100bafe5
xor eax, eax
test dword [esi + 0x28], eax
jne 0x100bb1ef
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100bb1ef
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x48], 0
cmp dword [ecx + 0x48], 0
jle 0x100bb0e3
mov eax, dword [edi]
xor esi, esi
mov al, byte [eax + 0x57]
mov byte [esp + 0x6f], al
nop dword [eax]
test al, al
je 0x100bb02b
mov ecx, 0x1017abd8
jmp 0x100bb03b
mov eax, dword [ecx + 0x4c]
mov eax, dword [esi + eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea ecx, [eax + ecx*4]
mov al, byte [ecx]
mov byte [esp + 0x17], al
cmp al, 0x5e
jne 0x100bb052
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
cmp dword [ecx + 0xc], eax
jmp 0x100bb061
cmp al, 0x87
jne 0x100bb067
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
cmp dword [ecx + 8], eax
mov edi, dword [esp + 0x28]
je 0x100bb084
mov ecx, dword [esp + 0x48]
add esi, 0x14
mov eax, dword [ebp + 0x10]
inc ecx
mov dword [esp + 0x48], ecx
cmp ecx, dword [eax + 0x48]
jge 0x100bb0e3
mov al, byte [esp + 0x6f]
mov ecx, dword [ebp + 0x10]
jmp 0x100bb020
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bb0ad
push edx
movzx edx, byte [esp + 0x1b]
mov ecx, edi
push esi
push eax
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb0e3
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 dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x17]
mov byte [eax + 1], 0
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.10026f30
mov esi, eax
add esp, 8
test esi, esi
je 0x100bb139
push 0x34
push 0
push esi
call fcn.10138870
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 0x100bb139
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.1002a530
add esp, 0xc
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100bb1da
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
test ecx, ecx
jle 0x100bb161
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.10026f30
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x100bb1cc
push 0x34
push 0
push eax
call fcn.10138870
mov ecx, dword [esp + 0x24]
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 + 0x20]
add eax, dword [esp + 0x1c]
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.1006ffd0
add esp, 0x10
jmp 0x100bb1cf
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], 0
test esi, esi
je 0x100bb1e7
mov edx, esi
mov ecx, eax
call fcn.10067ec0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, dword [esp + 0x44]
jl 0x100bafa0
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x100bb3c9
mov eax, dword [esp + 0x24]
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 + 0x5c]
push 0
push dword [ebp + 0x10]
call fcn.100b9830
mov edx, eax
add esp, 0x10
mov dword [esp + 0x1c], edx
cmp edx, esi
je 0x100bb275
test esi, esi
je 0x100bb275
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100bb275
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], esi
inc byte [ecx + 0x13]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x34], 0
mov esi, dword [eax + 0x10]
je 0x100bb34b
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bb2a6
push 0
push esi
push edx
mov edx, 0xd
mov ecx, edi
call fcn.1004e9b0
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x100bb2d5
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 ecx, dword [edi + 0x6c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bb2fd
push 1
push edx
push esi
push eax
mov edx, 0x40
mov ecx, edi
call fcn.1004e9f0
add esp, 0x10
jmp 0x100bb32c
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xfd40
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
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.100ba6d0
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bb381
push edx
push esi
push dword [esp + 0x48]
mov edx, 0x1e
mov ecx, edi
call fcn.1004e9b0
mov edx, dword [ebp + 0x10]
xor eax, eax
add esp, 0xc
neg eax
sbb eax, eax
add eax, 2
mov byte [edx + 0x3d], 0xb9
mov dword [esp + 0x70], eax
jmp 0x100bd695
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
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], 0xb9
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x100bb77e
mov eax, 0xb9
mov dword [esp + 0x1c], 0
xor esi, esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x64], 0
test dl, 0x20
je 0x100bb40b
mov eax, dword [esp + 0x24]
mov ecx, 4
mov eax, dword [eax + 0x38]
mov esi, dword [eax]
jmp 0x100bb40d
xor ecx, ecx
test dl, 0x10
je 0x100bb422
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x64], ecx
jmp 0x100bb424
xor ecx, ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100bb432
mov dword [esp + 0x64], esi
mov esi, ecx
test esi, esi
je 0x100bb568
mov ecx, dword [esi]
mov dword [esp + 0x30], 0x17151618
mov dword [esp + 0x48], ecx
mov edx, dword [ecx + 0x10]
mov al, byte [edx]
cmp al, 0xb0
jne 0x100bb454
mov al, byte [edx + 2]
cmp al, 0xb1
jne 0x100bb45d
mov eax, dword [edx + 0x14]
jmp 0x100bb467
cmp al, 0x8a
jne 0x100bb4b6
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100bb4b6
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x13]
test al, al
jne 0x100bb47f
inc dword [edx + 0x2c]
mov esi, dword [edx + 0x2c]
jmp 0x100bb48e
dec al
mov byte [edx + 0x13], al
movzx eax, al
mov esi, dword [edx + eax*4 + 0xa4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x10]
push 1
push esi
call fcn.100ba560
mov ecx, dword [esp + 0x50]
add esp, 8
mov edx, esi
movzx eax, byte [ecx]
inc eax
and eax, 2
or eax, 1
mov al, byte [esp + eax + 0x30]
jmp 0x100bb4e8
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
call fcn.1006f500
mov ecx, dword [ebp + 0x10]
add esp, 4
mov edx, esi
mov dword [esp + 0x70], eax
call fcn.100b9410
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x70]
movzx eax, byte [ecx]
mov al, byte [esp + eax - 6]
mov ecx, dword [edi + 0x6c]
mov byte [esp + 0x17], al
cmp dword [edi + 0x70], ecx
jg 0x100bb50c
push edx
push dword [esp + 0x48]
movzx edx, al
mov ecx, edi
push dword [esp + 0x48]
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb546
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 + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
test esi, esi
je 0x100bb5cf
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100bb5cf
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], esi
inc byte [ecx + 0x13]
jmp 0x100bb5cf
mov ecx, dword [edi + 0x6c]
xor eax, 1
lea edx, [eax*4 + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x100bb591
mov ecx, dword [esp + 0x48]
push 0
push ecx
push dword [esp + 0x48]
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb5cb
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 + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100bb672
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 + 0x24], eax
call fcn.100ba560
mov ecx, dword [esi + 0x10]
add esp, 8
mov dl, byte [ecx]
mov al, dl
cmp al, 0xb0
jne 0x100bb603
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100bb60c
mov eax, dword [ecx + 0x14]
jmp 0x100bb616
cmp al, 0x8a
jne 0x100bb61b
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100bb625
mov al, byte [esi]
cmp al, 0x38
je 0x100bb632
cmp al, 0x36
je 0x100bb632
mov eax, dword [esp + 0x58]
lea eax, [eax*2 + 0x36]
jmp 0x100bb640
mov eax, dword [esp + 0x58]
xor eax, 1
lea eax, [eax*2 + 0x37]
mov dword [esp + 0x4c], eax
cmp dl, 0xb0
jne 0x100bb64c
mov dl, byte [ecx + 2]
cmp dl, 0xb1
jne 0x100bb656
mov eax, dword [ecx + 0x14]
jmp 0x100bb661
cmp dl, 0x8a
jne 0x100bb666
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100bb672
mov edx, dword [esp + 0x64]
mov ecx, dword [ebp + 0x10]
call fcn.100b9410
cmp dword [esp + 0x58], 0
mov edx, dword [ebp + 0x10]
mov ecx, dword [edi + 0x6c]
sete al
add al, 0x26
cmp dword [esp + 0x4c], 0xb9
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x40]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
je 0x100bb201
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 0x100bb6c7
push 0
push esi
push dword [esp + 0x48]
mov edx, 0x87
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb6f6
mov edx, dword [esp + 0x40]
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 + 0x4c]
cmp dword [edi + 0x70], ecx
jg 0x100bb718
mov ecx, dword [esp + 0x1c]
push esi
push dword [esp + 0x48]
push ecx
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb74e
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 + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100bb1fe
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 + 0x70], eax
jmp 0x100bd695
test edx, 0x200
je 0x100bc96d
mov esi, dword [esp + 0x24]
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], 0
mov byte [esp + 0x17], 0
movzx eax, word [esi + 0x1a]
movzx ecx, word [esi + 0x18]
mov dword [esp + 0x30], eax
movzx eax, word [esi + 0x1c]
xor esi, esi
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x8c], esi
mov byte [esp + 0x6f], 0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x2c], esi
movzx ecx, cx
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
test dl, 0x20
je 0x100bb806
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x38]
movzx esi, word [esi + 0x1a]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [esp + 0x20], eax
test dl, 0x10
je 0x100bb918
mov edx, dword [esp + 0x24]
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 + 0x3c], ecx
mov dword [esp + 0x18], edx
test word [ecx + 0xa], ax
je 0x100bb8d1
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 0x100bb867
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb896
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 + 0x5c]
mov dword [ecx + 0x2c], esi
movzx ecx, ax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x1c]
cmp byte [ecx + eax], 1
mov eax, dword [ebp + 0x10]
sete dl
xor edx, dword [esp + 0x58]
or edx, esi
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x20], 0
mov esi, edx
jne 0x100bb918
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x5c]
movzx ecx, ax
mov eax, dword [esi + 4]
movsx ecx, word [eax + ecx*2]
mov dword [esp + 0x18], ecx
test ecx, ecx
js 0x100bb90a
mov eax, dword [esi + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
je 0x100bb911
mov ecx, dword [esp + 0x18]
mov esi, edx
cmp ecx, 0xfffffffe
jne 0x100bb918
mov byte [esp + 0x17], 1
mov esi, edx
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x2c]
test al, 0x30
jne 0x100bb9b5
test eax, 0x80000
je 0x100bb9b5
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 + 0x2c], edx
mov dword [eax + 0x24], edx
je 0x100bb9a8
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bb971
push 0
push edx
push 0
lea edx, [esi + 0x46]
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bb9a4
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 + 0x84]
mov eax, dword [esp + 0x5c]
cmp ax, word [edx + 0x34]
jae 0x100bba0d
movzx ecx, ax
mov eax, dword [edx + 0x1c]
xor edx, edx
cmp byte [ecx + eax], dl
sete dl
cmp dword [esp + 0x58], edx
jne 0x100bba0d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x17]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x6f], al
mov eax, dword [esp + 0x30]
movzx ecx, cx
movzx eax, al
mov byte [esp + 0x17], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], eax
cmp dword [ebp + 0xc], 0
jle 0x100bba74
mov eax, dword [esp + 0x24]
test dword [eax + 0x2c], 0x100000
je 0x100bba74
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bba41
push 0
push 0
push dword [esp + 0x58]
mov edx, 0x88
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bba74
mov edx, dword [esp + 0x50]
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 + 0x48]
push eax
push esi
push dword [esp + 0x60]
mov esi, dword [ebp + 0x10]
mov edx, esi
call fcn.100b9ef0
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov edx, eax
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x100bbb0c
cmp word [esp + 0x44], 0
je 0x100bbb0c
mov eax, dword [esp + 0x5c]
movzx eax, ax
add eax, ecx
mov dword [esp + 0x18], eax
jne 0x100bbabf
xor eax, eax
mov dword [esp + 0x8c], eax
jmp 0x100bbb0c
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bbac4
mov eax, dword [esp + 0x78]
sub ecx, edx
push 0
lea esi, [ecx + 1]
push esi
test eax, eax
je 0x100bbae4
mov ecx, eax
call fcn.10026f30
jmp 0x100bbae9
call fcn.100267c0
add esp, 8
mov dword [esp + 0x8c], eax
test eax, eax
je 0x100bbb05
push esi
push dword [esp + 0x1c]
push eax
call fcn.10139d00
add esp, 0xc
mov edx, dword [esp + 0x54]
mov esi, dword [ebp + 0x10]
cmp dword [esp + 0x2c], 0
je 0x100bbb1c
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x60], ecx
jmp 0x100bbb23
mov eax, dword [esi + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100bbb3c
test byte [eax + 0xc], 0x28
mov dword [esp + 0x80], 0
je 0x100bbb47
mov dword [esp + 0x80], 1
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x100bbb5d
test byte [ecx + 0xc], 0x28
mov dword [esp + 0x1c], 0
je 0x100bbb65
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x5c]
test eax, eax
jne 0x100bbbc0
test cx, cx
jne 0x100bbbc0
movzx esi, cx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], esi
mov al, byte [esp + 0x17]
test al, al
je 0x100bbd3e
movzx edx, cx
add edx, dword [esp + 0x54]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x80], 0
cmp dword [edi + 0x70], ecx
jg 0x100bbd2f
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bbd9d
movzx esi, cx
mov dword [esp + 0x7c], 1
mov dword [esp + 0x74], esi
test eax, eax
je 0x100bbb7d
mov eax, dword [eax]
movzx ecx, cx
add ecx, edx
mov dword [esp + 0x4c], ecx
mov esi, dword [eax + 0x10]
mov edx, esi
mov eax, dword [esp + 0x30]
movzx eax, ax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100ba560
mov eax, dword [esp + 0x28]
mov ecx, 0x100
add esp, 8
test word [eax + 0xa], cx
je 0x100bbc4f
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100bbc1b
mov edx, 0x1017abe4
mov ecx, 0x1017abda
jmp 0x100bbc33
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 + 0x20]
test byte [eax + 0xa], 0x80
jne 0x100bbcb3
mov ecx, esi
call fcn.100697a0
test eax, eax
je 0x100bbcb3
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x4c]
cmp dword [edi + 0x70], ecx
jg 0x100bbc84
push 0
push dword [esp + 0x64]
mov ecx, edi
push edx
mov edx, 0x32
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bbcb3
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 + 0x60]
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 + 0x48]
test ecx, ecx
je 0x100bbcd6
mov eax, dword [esp + 0x5c]
movzx eax, ax
add eax, ecx
mov ecx, esi
push eax
mov eax, dword [esp + 0x34]
movzx edx, ax
call fcn.100b9480
add esp, 4
mov eax, dword [esp + 0x30]
movzx eax, ax
add dword [esp + 0x74], eax
mov al, byte [esi]
cmp al, 0xb0
jne 0x100bbcea
mov al, byte [esi + 2]
cmp al, 0xb1
jne 0x100bbcf3
mov eax, dword [esi + 0x14]
jmp 0x100bbcfd
cmp al, 0x8a
jne 0x100bbd18
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100bbd18
xor al, al
mov dword [esp + 0x80], 1
mov byte [esp + 0x17], al
jmp 0x100bbdae
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
call fcn.100b9410
xor al, al
mov byte [esp + 0x17], al
jmp 0x100bbdae
mov esi, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
jmp 0x100bbd77
cmp dword [esp + 0x2c], 0
je 0x100bbdae
movzx edx, cx
add edx, dword [esp + 0x54]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bbd6a
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bbd9d
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 + 0x74], esi
mov dword [esp + 0x7c], 1
mov ecx, dword [esp + 0x74]
mov edx, ecx
mov esi, dword [esp + 0x48]
movzx eax, al
sub edx, eax
mov eax, dword [esp + 0x54]
test esi, esi
je 0x100bbe13
test edx, edx
jle 0x100bbddc
nop dword [eax]
cmp byte [esi], 0x41
jg 0x100bbddc
dec edx
inc eax
inc esi
test edx, edx
jg 0x100bbdd0
cmp edx, 1
jle 0x100bbdee
cmp byte [esi + edx - 1], 0x41
jg 0x100bbdf2
dec edx
cmp edx, 1
jg 0x100bbde1
test edx, edx
jle 0x100bbe13
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.1004ee50
mov ecx, dword [esp + 0x88]
add esp, 0x14
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x32]
test ax, ax
je 0x100bbe28
cmp ecx, eax
je 0x100bc19d
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x100bbe7d
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bbe4e
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bbe7d
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 edx, dword [eax + 0x34]
test edx, edx
je 0x100bbf06
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi]
movzx eax, ax
cmp dword [edi + 0x70], ecx
jg 0x100bbeb3
push eax
push dword [esp + 0x58]
mov ecx, edi
push dword [esp + 0x68]
push edx
mov edx, 0x40
call fcn.1004e9f0
add esp, 0x10
jmp 0x100bbee8
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 0xc], edx
movzx edx, di
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xfd40
mov dword [eax + ecx*4 + 0x10], edx
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 + 0x68]
push dword [ebp + 0xc]
call fcn.100ba6d0
add esp, 0x10
mov edx, dword [esp + 0x80]
lea ecx, [edi + 0x68]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], esi
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x58]
mov al, byte [edx + eax*2 + 0x101632b4]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x3b], al
movzx eax, al
mov dword [esp + 0x34], eax
lea eax, [edi + 0x70]
test dword [edx + 0x2c], 0x100000
mov edx, esi
mov dword [esp + 0x30], eax
je 0x100bc062
cmp dword [esp + 0x34], 0x17
lea eax, [edi + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x7c], ecx
jne 0x100bc06b
mov eax, dword [esp + 0x84]
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 + 0x64], ecx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bbfb6
push 0
push 0
push eax
mov edx, 0x7c
mov ecx, edi
call fcn.1004e9b0
mov dword [esp + 0x70], eax
add esp, 0xc
lea eax, [edi + 0x68]
mov dword [esp + 0x7c], eax
jmp 0x100bbff1
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
lea eax, [edi + 0x68]
mov dword [esp + 0x7c], eax
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x7c
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
lea eax, [edi + 0x68]
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x4c], esi
jne 0x100bc017
cmp dword [esp + 0x3c], 0
lea ecx, [edi + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], ecx
je 0x100bc067
lea edx, [edi + 0x6c]
mov dword [esp + 0x4c], edx
mov ecx, dword [esi]
test ecx, ecx
jle 0x100bc02c
mov eax, dword [eax]
lea ecx, [ecx + ecx*4]
mov esi, 1
mov word [eax + ecx*4 - 0x12], si
mov eax, dword [edi]
mov esi, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100bc03d
mov ecx, 0x1017abd8
jmp 0x100bc04d
mov eax, dword [esp + 0x64]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
lea eax, [esi + 1]
mov dword [esp + 0x64], 0
mov dword [ecx + 8], eax
lea eax, [edi + 0x70]
mov dword [esp + 0x30], eax
lea esi, [edi + 0x68]
jmp 0x100bc06f
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x7c]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x100bc09a
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x34]
push ecx
push dword [esp + 0x58]
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.1004e9f0
mov edx, dword [esp + 0x5c]
add esp, 0x10
jmp 0x100bc0d8
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [edi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x3b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x100bc1a1
mov ecx, dword [edx]
lea eax, [ecx + 2]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x100bc10e
push 0
push dword [esp + 0x38]
mov edx, 9
mov ecx, edi
push 0
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc13f
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x34]
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 + 0x74]
mov eax, 1
mov edi, dword [esp + 0x58]
cmp eax, ecx
mov edx, dword [esp + 0x4c]
sbb eax, eax
sub ecx, dword [esp + 0x80]
and eax, 4
mov dword [esp + 0x74], ecx
mov ecx, dword [edx]
mov al, byte [eax + edi + 0x101632b6]
mov edi, dword [esp + 0x30]
mov byte [esp + 0x3b], al
cmp dword [edi], ecx
mov edi, dword [esp + 0x28]
jg 0x100bc212
mov ecx, dword [esp + 0x74]
push ecx
push dword [esp + 0x58]
movzx edx, al
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.1004e9f0
add esp, 0x10
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x3c], 0
mov eax, dword [esp + 0x5c]
movzx esi, ax
mov dword [esp + 0x34], esi
je 0x100bc3b0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x5c]
movzx esi, ax
mov eax, dword [esp + 0x44]
add esi, edx
movzx eax, ax
mov edx, ecx
push eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x14]
push esi
call fcn.100ba560
mov eax, dword [esp + 0x44]
mov ecx, 0x100
add esp, 8
test word [eax + 0xa], cx
je 0x100bc28a
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100bc256
mov edx, 0x1017abe4
mov ecx, 0x1017abda
jmp 0x100bc26e
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 0xc], edx
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x3b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
jmp 0x100bc1a5
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 + 0x3c]
test byte [eax + 0xa], 0x80
jne 0x100bc2ef
mov ecx, dword [esp + 0x80]
call fcn.100697a0
test eax, eax
je 0x100bc2ef
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bc2c0
push 0
push dword [esp + 0x64]
mov edx, 0x32
mov ecx, edi
push esi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc2ef
mov edx, 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], 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 + 0x8c]
test esi, esi
je 0x100bc363
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
push esi
movzx edx, ax
call fcn.100b9480
mov ecx, dword [esp + 0x60]
add esp, 4
mov eax, dword [esp + 0x44]
movzx ecx, cx
add ecx, dword [esp + 0x54]
movzx eax, ax
test eax, eax
je 0x100bc333
cmp byte [esi], 0x41
jg 0x100bc333
dec eax
inc ecx
inc esi
test eax, eax
jg 0x100bc327
cmp eax, 1
jle 0x100bc345
cmp byte [eax + esi - 1], 0x41
jg 0x100bc349
dec eax
cmp eax, 1
jg 0x100bc338
test eax, eax
jle 0x100bc363
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.1004ee50
add esp, 0x14
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x34]
movzx eax, ax
add esi, eax
mov al, byte [ecx]
cmp al, 0xb0
jne 0x100bc380
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100bc389
mov eax, dword [ecx + 0x14]
jmp 0x100bc393
cmp al, 0x8a
jne 0x100bc3a2
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100bc3a2
mov dword [esp + 0x1c], 1
jmp 0x100bc41a
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x10]
call fcn.100b9410
jmp 0x100bc41a
cmp byte [esp + 0x6f], 0
je 0x100bc41a
test ecx, ecx
jne 0x100bc419
mov ecx, dword [edi + 0x6c]
movzx esi, ax
add esi, edx
cmp dword [edi + 0x70], ecx
jg 0x100bc3de
push 0
push esi
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc40d
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 + 0x34]
mov dword [esp + 0x1c], 0
inc esi
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100bc42d
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.10026b40
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100bc443
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.10026b40
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x44], eax
test esi, esi
je 0x100bc53e
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100bc4af
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 3]
cmp dword [edi + 0x70], ecx
jg 0x100bc47c
push 0
push edx
push eax
mov edx, 0x11
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc4af
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
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 edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov ecx, dword [edi + 0x6c]
mov dl, byte [edx + eax*2 + str.___]
cmp dword [edi + 0x70], ecx
jg 0x100bc4e2
push esi
push dword [esp + 0x58]
movzx edx, dl
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.1004e9f0
add esp, 0x10
jmp 0x100bc518
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 + 0x10], esi
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [eax + ecx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x100bc53e
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100bc532
mov eax, 0x1017abd8
jmp 0x100bc53b
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100bc615
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 2]
cmp dword [edi + 0x70], ecx
jg 0x100bc56a
push 0
push edx
push eax
mov edx, 0x10
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc59d
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
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
mov edx, dword [esp + 0x58]
movzx eax, byte [esp + 0x17]
mov ecx, dword [edi + 0x6c]
mov al, byte [eax + edx*2 + str.___]
movzx edx, byte [esp + 0x17]
add edx, esi
mov byte [esp + 0x3b], al
cmp dword [edi + 0x70], ecx
jg 0x100bc5dc
push edx
push dword [esp + 0x58]
movzx edx, al
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x5c]
call fcn.1004e9f0
add esp, 0x10
jmp 0x100bc615
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0x10], edx
mov byte [eax + ecx*4 + 1], 0xfd
lea eax, [eax + ecx*4]
mov cl, byte [esp + 0x3b]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x24]
test dword [eax + 0x2c], 0x40000
je 0x100bc67e
mov eax, dword [esp + 0x5c]
mov ecx, dword [edi + 0x6c]
movzx edx, ax
movzx esi, ax
cmp dword [edi + 0x70], ecx
jg 0x100bc64b
push edx
push esi
push dword [esp + 0x58]
mov edx, 0x7d
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc67a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
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 + 0x24]
test byte [eax + 0x2c], 0x40
mov eax, dword [ebp + 8]
je 0x100bc69f
mov ecx, 0x1020
test word [eax + 0x28], cx
jne 0x100bc69f
mov dword [esp + 0x64], 1
jmp 0x100bc8e2
mov edx, dword [esp + 0x84]
xor ecx, ecx
mov esi, dword [edx + 0xc]
test byte [esi + 0x1c], 0x80
jne 0x100bc6d5
mov esi, dword [esp + 0x50]
mov ecx, eax
push esi
push dword [esp + 0x44]
call fcn.100ba3f0
mov eax, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x64], 0
jmp 0x100bc8ea
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], ecx
cmp eax, dword [esp + 0x50]
je 0x100bc8e6
mov esi, dword [esi + 8]
mov dword [esp + 0x64], ecx
test esi, esi
je 0x100bc706
mov dword [esp + 0x64], ecx
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100bc706
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100bc6f6
movzx ecx, word [esi + 0x32]
cmp ecx, 1
jne 0x100bc73b
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100bc726
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x30], eax
jmp 0x100bc781
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa4]
mov dword [esp + 0x30], eax
jmp 0x100bc781
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x30], eax
cmp ecx, edx
jg 0x100bc763
mov edi, dword [esp + 0x10]
add eax, ecx
sub edx, ecx
mov dword [edi + 0x20], eax
mov eax, edi
mov edi, dword [esp + 0x28]
mov dword [eax + 0x1c], edx
jmp 0x100bc77a
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 + 0x30], edx
mov dword [ecx + 0x2c], eax
mov edx, dword [esp + 0x84]
movzx eax, word [esi + 0x32]
mov dword [esp + 0x18], 0
mov ecx, eax
mov dword [esp + 0x34], 0
cmp word [esp + 0x18], ax
jae 0x100bc883
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], 0
jmp 0x100bc7c7
mov edx, dword [esp + 0x84]
movzx edx, word [edx + 0x34]
xor ecx, ecx
test edx, edx
je 0x100bc805
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x48]
movzx eax, word [edi + eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 4]
nop word [eax + eax]
mov edi, dword [esp + 0x18]
cmp di, word [eax]
mov edi, dword [esp + 0x28]
je 0x100bc82d
inc ecx
add eax, 2
cmp ecx, edx
jl 0x100bc7f0
or eax, 0xffffffff
mov ecx, dword [edi + 0x6c]
movsx edx, ax
cmp dword [edi + 0x70], ecx
jg 0x100bc832
push dword [esp + 0x1c]
mov ecx, edi
push edx
push dword [esp + 0x58]
mov edx, 0x5e
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bc865
movzx eax, cx
jmp 0x100bc808
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x34]
movzx ecx, word [esi + 0x32]
inc edx
inc dword [esp + 0x1c]
add dword [esp + 0x48], 2
mov dword [esp + 0x34], edx
cmp edx, ecx
jl 0x100bc7c0
movzx edx, cx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bc8b0
mov esi, dword [esp + 0x94]
mov ecx, edi
push edx
push dword [esp + 0x34]
mov edx, 0x1c
push esi
push dword [esp + 0x4c]
call fcn.1004e9f0
add esp, 0x10
jmp 0x100bc8e2
mov esi, dword [esp + 0x40]
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 + 0x94]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0xfd1c
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0
jne 0x100bc914
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x100bc914
push dword [esp + 0x88]
mov edx, eax
call fcn.100ba650
mov edx, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esp + 0x24]
test dword [ecx + 0x2c], 0x1000
je 0x100bc927
mov byte [edx + 0x3d], 0xb9
jmp 0x100bc934
cmp dword [esp + 0x58], 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 0x100bc949
mov byte [edx + 0x3f], 1
cmp dword [esp + 0x64], 0
je 0x100bd67e
xor eax, eax
mov dword [esp + 0x84], eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
test edx, 0x2000
je 0x100bd5a9
mov ecx, dword [esp + 0x10]
xor edx, edx
lea esi, [ecx + 0x2c]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x74], 0
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x70], eax
inc eax
mov dword [ecx + 0x28], eax
mov eax, dword [esi]
inc eax
mov dword [esp + 0x3c], 0
mov dword [esi], eax
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x38]
dec eax
mov dword [esp + 0x20], 0
mov dword [ecx + 0x38], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x54], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov byte [edx + 0x3d], 0x43
mov dword [edx + 0x40], eax
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2c]
cmp al, 1
jbe 0x100bcaf3
mov ecx, dword [esp + 0x78]
movzx eax, al
sub eax, dword [ebp + 0xc]
dec eax
mov dword [esp + 0x34], eax
push 0
lea eax, [eax + eax*8]
lea eax, [eax*8 + 0x50]
push eax
call fcn.10026f30
mov ecx, eax
add esp, 8
mov dword [esp + 0x80], ecx
test ecx, ecx
jne 0x100bca40
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x34]
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 0x100bcaea
mov esi, dword [ebp + 0x10]
add ecx, 0x50
add esi, 0x9c
mov edi, eax
nop dword [eax + 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 0x100bcaa0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
add esi, 0x2c
mov ecx, dword [esp + 0x48]
mov edx, dword [ebp + 8]
jmp 0x100bcafd
mov eax, dword [edx + 4]
mov dword [esp + 0x80], eax
test byte [edx + 0x28], 0x10
jne 0x100bcc6c
test byte [ecx + 0x1c], 0x80
jne 0x100bcb91
inc dword [esi]
mov edx, dword [esi]
lea esi, [edi + 0x6c]
mov ecx, dword [esi]
mov dword [esp + 0x3c], edx
cmp dword [edi + 0x70], ecx
jg 0x100bcb4b
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.1004e9b0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [edx + 0x2c]
inc ecx
mov dword [esp + 0x20], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100bcc6f
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x28]
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 + 0x20], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100bcc6f
mov esi, dword [ecx + 8]
test esi, esi
je 0x100bcba8
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100bcba8
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100bcb98
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x3c], eax
inc eax
mov dword [ecx + 0x28], eax
movzx eax, word [esi + 0x32]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x34], eax
cmp dword [edi + 0x70], edx
jg 0x100bcbdf
push 0
push eax
push dword [esp + 0x44]
mov edx, 0x76
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bcc12
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
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 + 0x34], eax
call fcn.10083090
mov esi, eax
test esi, esi
je 0x100bcc58
mov edx, dword [esp + 0x34]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x100bcc46
push esi
mov edx, 0xfffffff8
call fcn.1004f6a0
add esp, 4
jmp 0x100bcc58
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 + 0x20], ecx
mov dword [edx + 0x2c], ecx
jmp 0x100bcc6f
lea esi, [edi + 0x6c]
mov edx, dword [esi]
mov dword [esp + 0x24], edx
cmp dword [edi + 0x70], edx
jg 0x100bcc97
push 0
push dword [esp + 0x68]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.1004e9b0
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x100bccc9
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x64]
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 + 0x88]
cmp dword [eax + 0xc], 1
jle 0x100bcdd6
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x1c], ecx
xor edi, edi
mov eax, dword [eax + 0x18]
add eax, esi
mov edx, dword [eax]
cmp eax, dword [esp + 0x18]
je 0x100bcd3e
mov edi, 0x8006
test word [eax + 0xa], di
mov edi, dword [esp + 0x5c]
jne 0x100bcd3e
mov ecx, 0x3fff
test word [eax + 0xc], cx
mov ecx, dword [esp + 0x1c]
je 0x100bcd3e
test dword [edx + 4], 0x400000
jne 0x100bcd3e
mov ecx, dword [esp + 0x78]
push 0
push 0
call fcn.10068100
mov ecx, dword [esp + 0x18]
mov edx, edi
push eax
call fcn.10067740
mov ecx, dword [esp + 0x28]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x88]
inc ecx
add esi, 0x30
mov dword [esp + 0x1c], ecx
cmp ecx, dword [eax + 0xc]
jl 0x100bcce4
test edi, edi
mov edi, dword [esp + 0x28]
je 0x100bcdd6
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.10026f30
mov esi, eax
add esp, 8
test esi, esi
je 0x100bcdc3
push 0x34
push 0
push esi
call fcn.10138870
mov edx, dword [esp + 0x68]
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 0x100bcdd2
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.1002a530
add esp, 0xc
jmp 0x100bcdd2
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
mov ecx, dword [eax]
call fcn.10067ec0
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x10]
push str.MULTI_INDEX_OR
push 1
push esi
call fcn.1004f0d0
mov edx, dword [esp + 0x88]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x4c], ecx
cmp dword [edx + 0xc], ecx
jle 0x100bce79
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [edx + 0x18]
mov edx, dword [esp + 0x40]
cmp dword [eax + 0x14], edx
je 0x100bce1d
mov edx, 0x400
test word [eax + 0xc], dx
je 0x100bce69
mov edx, dword [eax]
xor eax, eax
mov dword [esp + 0x8c], eax
test edx, edx
je 0x100bce40
mov ecx, dword [esp + 0x78]
push eax
push eax
call fcn.10068100
mov ecx, dword [esp + 0x54]
add esp, 8
jmp 0x100bce42
xor eax, eax
mov edx, dword [esp + 0x78]
mov esi, eax
mov dword [esp + 0x50], eax
cmp byte [edx + 0x57], 0
je 0x100bce8e
test eax, eax
je 0x100bce65
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.10067ec0
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x4c], ecx
mov edx, eax
cmp ecx, dword [eax + 0xc]
jl 0x100bce00
mov ecx, dword [esi + 0xe8]
test ecx, ecx
jne 0x100bd3c1
xor eax, eax
jmp 0x100bd3df
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x100bce9b
mov dword [edx + 0xc], eax
mov esi, edx
lea eax, [ecx + 1]
push eax
push str.INDEX__d
push 1
push dword [esp + 0x1c]
call fcn.1004f0d0
push dword [esp + 0x80]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x24]
push 0x20
push 0
push 0
push 0
push esi
call fcn.100c9930
mov esi, eax
add esp, 0x28
mov dword [esp + 0x30], esi
test esi, esi
je 0x100bd3a3
mov edx, dword [esp + 0x80]
lea ecx, [esi + 0x2f8]
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100b8d90
mov eax, dword [ebp + 8]
add esp, 8
test byte [eax + 0x28], 0x10
jne 0x100bd26e
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax + 0xc]
dec eax
cmp edx, eax
mov eax, 0xffffffff
cmove edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
test byte [eax + 0x1c], 0x80
jne 0x100bcff4
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bcf58
push 0
push dword [esp + 0x24]
mov edx, 0x87
mov ecx, edi
push dword [esp + 0x48]
call fcn.1004e9b0
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x100bcf8b
mov esi, dword [esp + 0x40]
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 + 0x20]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [edi + 0x6c]
mov dword [esp + 0x8c], esi
cmp dword [edi + 0x70], esi
jg 0x100bcfc0
push edx
push dword [esp + 0x24]
mov edx, 0x2f
mov ecx, edi
push 0
push dword [esp + 0x48]
call fcn.1004e9f0
add esp, 0x10
mov dword [esp + 0x8c], eax
jmp 0x100bd26a
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xfd2f
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x100bd26a
mov esi, dword [eax + 8]
test esi, esi
je 0x100bd010
nop dword [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100bd010
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100bd000
movzx eax, word [esi + 0x32]
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
cmp ecx, 1
jne 0x100bd05b
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100bd040
inc dword [ecx + 0x2c]
mov edx, dword [ecx + 0x2c]
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x58], ecx
jmp 0x100bd0b2
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa4]
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x58], ecx
jmp 0x100bd0b2
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x58], eax
cmp ecx, eax
jg 0x100bd08c
mov edi, dword [esp + 0x10]
lea eax, [ecx + edx]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x58]
sub eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x28]
mov dword [ecx + 0x1c], eax
jmp 0x100bd0a3
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 + 0x2c], edx
mov dword [ecx + 0x2c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x58], ecx
cmp ax, word [esp + 0x34]
jae 0x100bd0e7
lea eax, [ecx + edx]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esi + 4]
movsx eax, word [eax + ecx*2]
mov ecx, edi
push eax
push dword [esp + 0x48]
call fcn.1006c7c0
mov ecx, dword [esp + 0x64]
add esp, 0xc
mov eax, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x58], ecx
cmp ecx, eax
jl 0x100bd0b2
jmp 0x100bd0eb
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x100bd15b
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x8c], ecx
cmp dword [edi + 0x70], ecx
jg 0x100bd126
push eax
push edx
push 0
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, edi
call fcn.1004e9f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
mov dword [esp + 0x8c], eax
jmp 0x100bd159
mov esi, dword [esp + 0x3c]
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 + 0x44]
mov dword [eax + ecx*4 + 0x10], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
test esi, esi
mov esi, dword [esp + 0x44]
js 0x100bd22f
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bd188
push dword [esp + 0x20]
mov ecx, edi
push esi
push edx
mov edx, 0x61
call fcn.1004e9b0
mov edx, dword [esp + 0x38]
add esp, 0xc
jmp 0x100bd1b7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bd1de
push esi
push edx
push dword [esp + 0x28]
mov edx, 0x8a
mov ecx, edi
push dword [esp + 0x48]
call fcn.1004e9f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
jmp 0x100bd20d
mov esi, dword [esp + 0x3c]
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 + 0x20]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0xfd8a
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], esi
cmp dword [esp + 0x1c], 0
je 0x100bd22f
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100bd22f
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov edi, 0x10
mov word [eax + ecx*4 - 0x12], di
mov edi, dword [esp + 0x28]
cmp word [esp + 0x34], 1
jne 0x100bd25b
test edx, edx
je 0x100bd26a
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100bd26e
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], edx
mov eax, ecx
inc byte [eax + 0x13]
jmp 0x100bd26e
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x1c]
jle 0x100bd26a
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], edx
mov esi, dword [esp + 0x30]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bd291
push 0
push dword [esp + 0x64]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x6c]
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bd2c4
mov edx, dword [esp + 0x64]
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 + 0x60]
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 + 0x8c]
test ecx, ecx
je 0x100bd2ed
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100bd2e1
mov eax, 0x1017abd8
jmp 0x100bd2ea
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 + 0x54]
test dl, 2
cmovne eax, ecx
mov ecx, dword [esi + 0x348]
mov dword [esp + 0x54], eax
test dword [ecx + 0x2c], 0x200
je 0x100bd341
cmp dword [esp + 0x4c], 0
je 0x100bd322
mov eax, dword [esp + 0x74]
cmp dword [ecx + 0x20], eax
jne 0x100bd341
mov eax, dword [esp + 0x48]
test byte [eax + 0x1c], 0x80
je 0x100bd338
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x100bd341
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x74], eax
jmp 0x100bd349
mov dword [esp + 0x74], 0
test dl, 1
je 0x100bd355
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 1
mov ecx, esi
call fcn.100ca920
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0xe8]
test ecx, ecx
jne 0x100bd374
xor eax, eax
mov dword [esi + 0xe8], eax
jmp 0x100bd3a7
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100bd38f
mov eax, 0x1017abd8
mov eax, dword [eax + 8]
mov dword [esi + 0xe8], eax
jmp 0x100bd3a7
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [esi + 0xe8], eax
jmp 0x100bd3a7
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
test edx, edx
je 0x100bd3b8
mov ecx, dword [esp + 0x78]
call fcn.10067ec0
mov ecx, dword [esp + 0x4c]
jmp 0x100bce69
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100bd3d3
mov eax, 0x1017abd8
jmp 0x100bd3dc
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [esi + 0xe8], eax
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x74]
mov dword [esi + 0x48], eax
test eax, eax
je 0x100bd3fa
mov eax, dword [esp + 0x70]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100bd414
mov ecx, dword [esp + 0x78]
mov edx, eax
mov dword [eax + 0xc], 0
call fcn.10067ec0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100bd426
mov eax, 0x1017abd8
jmp 0x100bd433
mov eax, dword [esp + 0x24]
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 0x100bd457
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bd486
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 + 0x60]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100bd4a4
push edx
mov edx, edi
call fcn.1004f320
add esp, 4
jmp 0x100bd4ad
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 0x100bd57d
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x80]
test ecx, ecx
je 0x100bd51e
cmp esi, dword [ecx + 0x164]
jae 0x100bd50c
cmp esi, dword [ecx + 0x15c]
jb 0x100bd4f4
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x100bd57d
cmp esi, dword [ecx + 0x160]
jb 0x100bd50c
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x100bd57d
cmp dword [ecx + 0x210], 0
je 0x100bd51e
mov edx, esi
call fcn.10026a40
jmp 0x100bd57a
test esi, esi
je 0x100bd57d
cmp dword [0x10177b48], 0
je 0x100bd570
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100bd53e
push eax
call dword [0x10177b98]
add esp, 4
push esi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push esi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100bd57a
push eax
call dword [0x10177ba0]
jmp 0x100bd577
push esi
call dword [0x10177b6c]
add esp, 4
mov edx, dword [ebp + 0x10]
cmp dword [esp + 0x54], 0
jne 0x100bb201
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
call fcn.100b9410
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0x10]
test byte [eax + 0x28], 0x40
je 0x100bd5cf
xor eax, eax
mov byte [edx + 0x3d], 0xb9
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
mov ecx, dword [esp + 0x58]
movzx eax, byte [ecx + 0x1015edcc]
mov byte [edx + 0x3d], al
mov eax, dword [esp + 0x40]
mov dword [edx + 0x40], eax
mov al, byte [ecx + 0x1015dd84]
mov edx, dword [edi + 0x6c]
mov byte [esp + 0x3b], al
cmp dword [edi + 0x70], edx
jg 0x100bd628
push 0
push esi
push dword [esp + 0x48]
movzx edx, al
mov ecx, edi
call fcn.1004e9b0
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 + 0x70], eax
jmp 0x100bd695
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 + 0x3b]
mov byte [eax + 1], 0
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x40]
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 + 0x70], eax
jmp 0x100bd695
mov eax, dword [esp + 0x84]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x70], eax
jmp 0x100bd695
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x88]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
jle 0x100bd935
jmp 0x100bd6b9
mov edx, dword [ebp + 0x10]
xor eax, eax
test byte [esi + 0xa], 6
mov dword [esp + 0x48], eax
jne 0x100bd921
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [edx + 0x58]
and eax, dword [edx + 0x5c]
or ecx, eax
je 0x100bd6e5
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 2
jmp 0x100bd91d
mov eax, dword [esp + 0x90]
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
mov al, byte [eax + 0x24]
test al, 0x58
je 0x100bd796
mov ecx, dword [edx + 4]
test cl, 3
je 0x100bd91d
test al, 8
je 0x100bd716
test cl, 1
je 0x100bd91d
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
cmp dword [ecx + 0x1f8], eax
jne 0x100bd72d
mov ecx, 1
xor edx, edx
jmp 0x100bd77f
mov edx, dword [ecx + 0x1f4]
mov eax, 1
mov dword [esp + 0x34], edx
cmp edx, eax
jle 0x100bd765
add ecx, 0x1fc
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 0x24]
cmp dword [ecx], edi
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
je 0x100bd817
inc eax
add ecx, 4
cmp eax, edx
jl 0x100bd746
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 0x100bd91d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
cmp eax, 1
jne 0x100bd831
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 + 0x68], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov dword [esp + 0xa4], 0x10070ea0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x100bd7fe
lea ecx, [esp + 0xa0]
call fcn.10062e00
cmp word [esp + 0xb4], 0
je 0x100bd836
mov ecx, 2
mov dword [esp + 0x20], ecx
jmp 0x100bd921
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 0x100bd77f
cmp eax, 3
jge 0x100bd85b
mov eax, 0x1000
test word [esi + 0xa], ax
je 0x100bd85b
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x100bd921
mov ecx, 3
mov dword [esp + 0x20], ecx
jmp 0x100bd921
mov eax, 0x200
test word [esi + 0xa], ax
je 0x100bd8d9
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x100bd8d9
mov ecx, dword [edi + 0x6c]
mov eax, edx
and edx, 1
shr eax, 1
or edx, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], ecx
cmp dword [edi + 0x70], ecx
jg 0x100bd89f
push 0
push 0
push eax
mov ecx, edi
call fcn.1004e9b0
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x100bd8d9
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 + 0x34]
mov dword [eax + 4], ecx
mov byte [eax + 1], 0
push 0x10
push dword [esp + 0x98]
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.1006ffd0
mov ecx, dword [esp + 0x58]
add esp, 0x10
test ecx, ecx
je 0x100bd918
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100bd90c
mov eax, 0x1017abd8
jmp 0x100bd915
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 + 0x20]
mov eax, dword [esp + 0x18]
add esi, 0x30
dec eax
mov dword [esp + 0x18], eax
test eax, eax
jg 0x100bd6b6
mov dword [esp + 0x70], ecx
test ecx, ecx
jg 0x100bd692
mov esi, dword [esp + 0x88]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x64], edx
test edx, edx
jle 0x100bda75
mov edi, eax
nop dword [eax]
test byte [edi + 0xa], 6
jne 0x100bda61
movzx eax, word [edi + 0xc]
mov esi, 0xb
test al, 0x82
setne cl
bt ax, si
mov esi, dword [esp + 0x88]
setb al
test al, cl
je 0x100bda61
mov ecx, dword [esp + 0x40]
cmp dword [edi + 0x14], ecx
jne 0x100bda61
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x58
jne 0x100bda61
mov eax, dword [edi]
mov edx, ecx
push 0
push 0x83
push dword [ebp + 0x18]
mov ecx, esi
mov dword [esp + 0x24], eax
push dword [ebp + 0x14]
push dword [edi + 0x18]
call fcn.100c2370
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100bda5d
test byte [esi + 0xa], 4
jne 0x100bda5d
test byte [esi + 0xc], 1
je 0x100bd9fe
mov eax, dword [esi]
test dword [eax + 4], 0x1000
je 0x100bd9fe
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100bda5d
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 + 0x20]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x1c]
call fcn.1006ffd0
add esp, 0x10
or word [esi + 0xa], 4
mov edx, dword [esp + 0x64]
dec edx
add edi, 0x30
mov dword [esp + 0x64], edx
test edx, edx
jg 0x100bd960
mov edi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100bde27
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 + 0x70], eax
test byte [eax + 0x1c], 0x80
jne 0x100bdb46
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x1c]
mov esi, dword [edx + 0x20]
cmp ecx, 2
jl 0x100bdac3
lea eax, [esi + 2]
mov dword [edx + 0x20], eax
lea eax, [ecx - 2]
mov dword [edx + 0x1c], eax
jmp 0x100bdacf
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 + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bdb05
push 0
push edx
push eax
mov edx, 0x87
mov ecx, edi
call fcn.1004e9b0
mov edx, 1
add esp, 0xc
mov dword [esp + 0x2c], edx
jmp 0x100bdc2c
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], edx
mov edx, 1
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x2c], edx
jmp 0x100bdc2c
mov esi, dword [eax + 8]
test esi, esi
je 0x100bdb60
nop dword [eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100bdb60
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100bdb50
movzx eax, word [esi + 0x32]
mov dword [esp + 0x2c], eax
lea ecx, [eax + 1]
cmp ecx, 1
jne 0x100bdb94
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100bdb83
inc dword [ecx + 0x2c]
mov edx, dword [ecx + 0x2c]
jmp 0x100bdbd8
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa4]
jmp 0x100bdbd8
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x64], edx
mov dword [esp + 0x18], eax
cmp ecx, eax
jg 0x100bdbc5
mov edi, dword [esp + 0x10]
lea eax, [ecx + edx]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x18]
sub eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x28]
mov dword [ecx + 0x1c], eax
jmp 0x100bdbdc
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 + 0x64], edx
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x2c], ecx
jbe 0x100bdc24
lea eax, [edx + 1]
mov dword [esp + 0x34], eax
nop
mov edx, dword [esp + 0x70]
add eax, ecx
push eax
mov eax, dword [esi + 4]
movsx eax, word [eax + ecx*2]
mov ecx, edi
push eax
push dword [esp + 0x48]
call fcn.1006c7c0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x2c]
inc ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jl 0x100bdbf0
jmp 0x100bdc28
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 1]
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x70], ecx
cmp dword [edi + 0x70], ecx
jg 0x100bdc66
push edx
push eax
push 0
push dword [esp + 0x24]
mov edx, 0x1d
mov ecx, edi
call fcn.1004e9f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
mov dword [esp + 0x70], eax
jmp 0x100bdc98
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edi
lea edi, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100bdcbb
push esi
push edx
lea eax, [esi + 1]
mov edx, 0x61
push eax
mov ecx, edi
call fcn.1004e9b0
mov edx, dword [esp + 0x38]
add esp, 0xc
jmp 0x100bdce9
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea edi, [esi + 1]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x28]
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 + 0x1c]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bdd1b
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 1]
push eax
push esi
push edx
mov edx, 0x8a
mov ecx, edi
call fcn.1004e9f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
jmp 0x100bdd49
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
lea edx, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfd8a
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100bdd7d
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 1]
push eax
push 0
push edx
mov edx, 0xb5
mov ecx, edi
call fcn.1004e9f0
mov edx, dword [esp + 0x3c]
add esp, 0x10
jmp 0x100bddaf
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
lea edx, [esi + 1]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfdb5
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100bddca
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100bdde0
mov eax, 0x1017abd8
jmp 0x100bdded
mov eax, dword [esp + 0x70]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x18]
inc edx
mov dword [eax + 8], ecx
cmp edx, 1
jne 0x100bde18
test esi, esi
je 0x100bde27
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100bde27
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], esi
inc byte [ecx + 0x13]
jmp 0x100bde27
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jle 0x100bde27
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], esi
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x70], edx
test edx, edx
je 0x100bdebf
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 + 0x18], eax
cmp dword [eax], ecx
jg 0x100bde6d
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.1004e9b0
lea eax, [edi + 0x68]
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x100bdea5
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x70]
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 0x100bdf59
mov eax, dword [eax + 0x38]
mov edx, esi
mov ecx, esi
mov dword [esp + 0x34], eax
jmp 0x100bdee6
lea eax, [edi + 0x68]
mov dword [esp + 0x1c], eax
lea ecx, [edi + 0x70]
mov eax, dword [ebp + 0x10]
lea edx, [edi + 0x6c]
mov dword [esp + 0x18], ecx
mov esi, edx
mov ecx, edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x34], eax
test eax, eax
je 0x100bdfc6
mov eax, dword [eax + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
cmp dword [eax], ecx
jg 0x100bdf11
mov edx, dword [esp + 0x70]
mov ecx, edi
push 0
push edx
push 0
mov edx, 0x4a
call fcn.1004e9b0
add esp, 0xc
jmp 0x100bdf46
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
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 + 0x88]
xor edi, edi
mov esi, dword [ecx + 0x18]
cmp dword [ecx + 0x14], edi
jle 0x100bdfc6
jmp 0x100bdf73
mov eax, dword [ebp + 0x10]
test byte [esi + 0xa], 6
jne 0x100bdfb6
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 0x100bdfb6
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x40
jne 0x100bdfb6
push 0x10
push dword [esp + 0x98]
push dword [esi]
push edx
call fcn.1006ffd0
add esp, 0x10
or word [esi + 0xa], 4
mov eax, dword [esp + 0x88]
inc edi
add esi, 0x30
cmp edi, dword [eax + 0x14]
jl 0x100bdf70
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