Function at 0x100ae4f0
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 0x100ae55e
mov ecx, 1
xor edx, edx
jmp 0x100ae5a8
mov edx, dword [edx + 0x1f4]
mov eax, 1
cmp edx, eax
jle 0x100ae58e
mov ecx, dword [ebp + 8]
add ecx, 0x1fc
mov edi, dword [esp + 0x44]
cmp dword [ecx], edi
mov edi, dword [esp + 0x38]
je 0x100ae63c
inc eax
add ecx, 4
cmp eax, edx
jl 0x100ae576
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.1013b300
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 0x100ae685
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 8
je 0x100ae685
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 0x100ae656
push 0
push edx
push 0
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100ae685
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 0x100ae5a8
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 0x100ae6b3
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 0x100ae6b3
cmp dword [eax], 0
jne 0x100ae6b3
dec ecx
sub eax, 0x60
test ecx, ecx
jg 0x100ae6a0
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 0x100ae7b9
mov ecx, dword [edi + 0x6c]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x100ae6fb
push edx
push 0
push esi
mov edx, 0xb
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100ae72a
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 0x100ae768
push 0
push dword [esp + 0x4c]
mov edx, 0xc
mov ecx, edi
push esi
call fcn.10043ee0
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 0x100b1323
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 0x100b1323
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x2c]
test edx, 0x400
je 0x100aedaa
movzx eax, word [eax + 0x30]
mov dword [esp + 0x48], eax
lea ecx, [eax + 2]
cmp ecx, 1
jne 0x100ae806
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100ae7f5
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov edx, eax
mov dword [esp + 0x1c], eax
jmp 0x100ae840
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa0]
jmp 0x100ae83c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov dword [esp + 0x1c], esi
cmp ecx, edx
jg 0x100ae82d
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 0x100ae840
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 0x100ae911
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 0x100ae902
test byte [ecx + 0xc], 1
je 0x100ae9a0
cmp esi, 0x1f
ja 0x100ae891
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
jmp 0x100ae893
xor eax, eax
mov edi, dword [esp + 0x30]
test dword [edi + 0x28], eax
mov edi, dword [esp + 0x38]
je 0x100ae977
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.1005f7f0
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 0x100ae940
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x1c]
push eax
push edx
mov edx, 0xae
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
inc esi
cmp esi, dword [esp + 0x48]
jl 0x100ae861
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 0x100aea2c
push 0
push esi
push edx
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100aea57
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 0x100ae8fe
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.100ad370
mov eax, dword [ebp + 0x10]
add esp, 0x10
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
jmp 0x100ae8fe
lea eax, [edx + esi]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 1
push eax
mov edx, dword [edx + 0x10]
call fcn.100ae090
mov eax, dword [esp + 0x20]
add esp, 8
cmp byte [eax + 0xf], 0x4a
mov eax, dword [esp + 0x30]
jne 0x100aea23
test byte [eax + 0x1c], 2
je 0x100aea23
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 0x100ae9eb
push 0
push edx
push 0
mov edx, 0x47
jmp 0x100ae8f4
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 0x100ae8fe
mov edx, dword [esp + 0x40]
jmp 0x100ae906
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 0x100aea7a
push 0
push edx
push dword [esp + 0x50]
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100aeaad
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.100442f0
mov eax, dword [esp + 0x44]
add esp, 0x14
mov ecx, dword [esp + 0x78]
and dword [eax + 0x1c], 0xfffffffe
cmp byte [ecx + 0x57], 0
je 0x100aeaf7
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 0x100aed98
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 0x100aeb6b
mov ax, word [esi + 0x22]
shr ax, cl
test al, 1
je 0x100aeb67
mov ecx, dword [ebp + 0x10]
call fcn.100acf60
jmp 0x100aed82
mov ecx, dword [esp + 0x1c]
test byte [edx + 0xc], 1
je 0x100aed86
cmp ecx, 0x1f
ja 0x100aeb83
mov eax, 1
shl eax, cl
jmp 0x100aeb85
xor eax, eax
test dword [esi + 0x28], eax
jne 0x100aed86
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100aed86
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x20], 0
cmp dword [ecx + 0x48], 0
jle 0x100aec7a
mov eax, dword [edi]
xor esi, esi
mov dh, byte [eax + 0x57]
test dh, dh
je 0x100aebc3
mov ecx, 0x10168a60
jmp 0x100aebd3
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 0x100aebe7
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
cmp dword [ecx + 0xc], eax
jmp 0x100aebf7
cmp dl, 0x87
jne 0x100aebfd
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
cmp dword [ecx + 8], eax
mov edi, dword [esp + 0x38]
je 0x100aec15
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 0x100aec7a
mov ecx, eax
jmp 0x100aebb8
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 0x100aec44
mov ecx, dword [esp + 0x20]
push esi
push eax
push ecx
movzx edx, dl
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100aec7a
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.1001ec70
mov esi, eax
add esp, 8
test esi, esi
je 0x100aecd0
push 0x34
push 0
push esi
call fcn.10129b70
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 0x100aecd0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.10022520
add esp, 0xc
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x57], 0
jne 0x100aed71
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
test ecx, ecx
jle 0x100aecf8
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.1001ec70
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x100aed63
push 0x34
push 0
push eax
call fcn.10129b70
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.10065280
add esp, 0x10
jmp 0x100aed66
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], 0
test esi, esi
je 0x100aed7e
mov edx, esi
mov ecx, eax
call fcn.1005d210
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x48]
jl 0x100aeb40
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b1323
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x100aef7e
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.100ad370
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
cmp edx, esi
je 0x100aee0c
test esi, esi
je 0x100aee0c
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100aee0c
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 0x100aef00
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100aee39
push 0
push esi
push edx
mov edx, 0xd
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100aee68
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 0x100aee93
push dword [esp + 0x18]
mov edx, 0x40
mov ecx, edi
push esi
push eax
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100aeec6
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 0x100aeee1
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.100ae200
mov edx, dword [esp + 0x28]
add esp, 0x10
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100aef36
push edx
push esi
push dword [esp + 0x4c]
mov edx, 0x1e
mov ecx, edi
call fcn.10043ee0
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 0x100b1323
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 0x100b1323
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x100af333
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 0x100aefc0
mov eax, dword [esp + 0x30]
mov ecx, 4
mov eax, dword [eax + 0x38]
mov esi, dword [eax]
jmp 0x100aefc2
xor ecx, ecx
test dl, 0x10
je 0x100aefd7
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x2c], ecx
jmp 0x100aefd9
xor ecx, ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100aefe7
mov dword [esp + 0x2c], esi
mov esi, ecx
test esi, esi
je 0x100af11d
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 0x100af009
mov al, byte [edx + 2]
cmp al, 0xb1
jne 0x100af012
mov eax, dword [edx + 0x14]
jmp 0x100af01c
cmp al, 0x8a
jne 0x100af06b
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100af06b
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x13]
test al, al
jne 0x100af034
inc dword [edx + 0x2c]
mov esi, dword [edx + 0x2c]
jmp 0x100af043
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.100ae090
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 0x100af09d
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
call fcn.100647f0
mov ecx, dword [ebp + 0x10]
add esp, 4
mov edx, esi
mov dword [esp + 0x34], eax
call fcn.100acf60
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 0x100af0c1
push edx
push dword [esp + 0x4c]
movzx edx, al
mov ecx, edi
push dword [esp + 0x4c]
call fcn.10043ee0
add esp, 0xc
jmp 0x100af0fb
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 0x100af184
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100af184
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], esi
inc byte [ecx + 0x13]
jmp 0x100af184
mov ecx, dword [edi + 0x6c]
xor eax, 1
lea edx, [eax*4 + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x100af146
mov ecx, dword [esp + 0x20]
push 0
push ecx
push dword [esp + 0x4c]
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af180
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 0x100af227
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.100ae090
mov ecx, dword [esi + 0x10]
add esp, 8
mov dl, byte [ecx]
mov al, dl
cmp al, 0xb0
jne 0x100af1b8
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100af1c1
mov eax, dword [ecx + 0x14]
jmp 0x100af1cb
cmp al, 0x8a
jne 0x100af1d0
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100af1da
mov al, byte [esi]
cmp al, 0x38
je 0x100af1e7
cmp al, 0x36
je 0x100af1e7
mov eax, dword [esp + 0x6c]
lea eax, [eax*2 + 0x36]
jmp 0x100af1f5
mov eax, dword [esp + 0x6c]
xor eax, 1
lea eax, [eax*2 + 0x37]
mov dword [esp + 0x3c], eax
cmp dl, 0xb0
jne 0x100af201
mov dl, byte [ecx + 2]
cmp dl, 0xb1
jne 0x100af20b
mov eax, dword [ecx + 0x14]
jmp 0x100af216
cmp dl, 0x8a
jne 0x100af21b
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100af227
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x10]
call fcn.100acf60
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 0x100aed98
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 0x100af27c
push 0
push esi
push dword [esp + 0x4c]
mov edx, 0x87
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af2ab
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 0x100af2cd
mov ecx, dword [esp + 0x18]
push esi
push dword [esp + 0x4c]
push ecx
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af303
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 0x100aed95
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 0x100b1323
test edx, 0x200
je 0x100b05d4
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 0x100af3b6
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 0x100af4c2
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, pe_nt_image_headers32
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x24], edx
test word [ecx + 0xa], ax
je 0x100af47e
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 0x100af417
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af446
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 0x100af4c2
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 0x100af4b4
mov eax, dword [esi + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
je 0x100af4bb
mov ecx, dword [esp + 0x24]
mov esi, edx
cmp ecx, 0xfffffffe
jne 0x100af4c2
mov byte [esp + 0x17], 1
mov esi, edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x2c]
test al, 0x30
jne 0x100af55f
test eax, 0x80000
je 0x100af55f
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 0x100af552
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af51b
push 0
push edx
push 0
lea edx, [esi + 0x46]
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af54e
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 0x100af5b7
movzx ecx, ax
mov eax, dword [edx + 0x1c]
xor edx, edx
cmp byte [ecx + eax], dl
sete dl
cmp dword [esp + 0x6c], edx
jne 0x100af5b7
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 0x100af61e
mov eax, dword [esp + 0x30]
test dword [eax + 0x2c], 0x100000
je 0x100af61e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af5eb
push 0
push 0
push dword [esp + 0x60]
mov edx, 0x88
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af61e
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.100ada30
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, eax
mov dword [esp + 0x64], edx
test ecx, ecx
je 0x100af6b5
cmp word [esp + 0x48], 0
je 0x100af6b5
mov eax, dword [esp + 0x60]
movzx eax, ax
add eax, ecx
mov dword [esp + 0x24], eax
jne 0x100af666
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x100af6b5
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af670
mov eax, dword [esp + 0x78]
sub ecx, edx
push 0
lea esi, [ecx + 1]
push esi
test eax, eax
je 0x100af690
mov ecx, eax
call fcn.1001ec70
jmp 0x100af695
call fcn.1001e500
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100af6ae
push esi
push dword [esp + 0x28]
push eax
call fcn.1012b000
add esp, 0xc
mov edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
cmp dword [esp + 0x74], 0
je 0x100af6c5
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x68], ecx
jmp 0x100af6cc
mov eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100af6e2
test byte [eax + 0xc], 0x28
mov dword [esp + 0x70], 0
je 0x100af6ea
mov dword [esp + 0x70], 1
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x100af700
test byte [ecx + 0xc], 0x28
mov dword [esp + 0x18], 0
je 0x100af708
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x60]
test eax, eax
jne 0x100af760
test cx, cx
jne 0x100af760
movzx esi, cx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], esi
mov al, byte [esp + 0x17]
test al, al
je 0x100af8d8
movzx edx, cx
add edx, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x70], 0
cmp dword [edi + 0x70], ecx
jg 0x100af8c9
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af937
movzx esi, cx
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], esi
test eax, eax
je 0x100af720
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.100ae090
mov eax, dword [esp + 0x24]
mov ecx, pe_nt_image_headers32
add esp, 8
test word [eax + 0xa], cx
je 0x100af7ef
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100af7bb
mov edx, 0x10168a6c
mov ecx, 0x10168a62
jmp 0x100af7d3
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 0x100af853
mov ecx, esi
call fcn.1005ea20
test eax, eax
je 0x100af853
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x5c]
cmp dword [edi + 0x70], ecx
jg 0x100af824
push 0
push dword [esp + 0x6c]
mov ecx, edi
push edx
mov edx, 0x32
call fcn.10043ee0
add esp, 0xc
jmp 0x100af853
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 0x100af876
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.100acfd0
add esp, 4
mov eax, dword [esp + 0x3c]
movzx eax, ax
add dword [esp + 0x40], eax
mov al, byte [esi]
cmp al, 0xb0
jne 0x100af88a
mov al, byte [esi + 2]
cmp al, 0xb1
jne 0x100af893
mov eax, dword [esi + 0x14]
jmp 0x100af89d
cmp al, 0x8a
jne 0x100af8b5
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100af8b5
xor al, al
mov dword [esp + 0x70], 1
mov byte [esp + 0x17], al
jmp 0x100af948
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x10]
call fcn.100acf60
xor al, al
mov byte [esp + 0x17], al
jmp 0x100af948
mov esi, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
jmp 0x100af911
cmp dword [esp + 0x74], 0
je 0x100af948
movzx edx, cx
add edx, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af904
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100af937
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 0x100af9a3
test edx, edx
jle 0x100af96f
cmp byte [esi], 0x41
jg 0x100af96f
dec edx
inc eax
inc esi
test edx, edx
jg 0x100af963
cmp edx, 1
jle 0x100af981
cmp byte [edx + esi - 1], 0x41
jg 0x100af985
dec edx
cmp edx, 1
jg 0x100af974
test edx, edx
jle 0x100af9a3
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.100442f0
mov ecx, dword [esp + 0x54]
add esp, 0x14
mov eax, dword [esp + 0x30]
movzx eax, word [eax + 0x32]
test ax, ax
je 0x100af9b8
cmp ecx, eax
je 0x100afdd3
mov edx, dword [esp + 0x74]
test edx, edx
je 0x100afa0d
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100af9de
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100afa0d
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 0x100afad5
mov ecx, dword [esi]
mov dword [esp + 0x3c], ecx
cmp dword [edi + 0x70], ecx
jg 0x100afa51
mov edx, dword [esp + 0x64]
mov ecx, edi
push edx
push dword [esp + 0x6c]
mov edx, 0x40
push eax
call fcn.10043ee0
lea edx, [edi + 0x68]
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x5c], edx
jmp 0x100afa90
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 0x100afab2
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.100ae200
add esp, 0x10
lea edx, [edi + 0x68]
jmp 0x100afadc
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 0x100afc1f
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], edx
cmp eax, 0x17
jne 0x100afc1f
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 0x100afb76
push 0
push 0
push eax
mov edx, 0x7c
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
mov dword [esp + 0x50], eax
lea edx, [edi + 0x68]
jmp 0x100afbae
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 0x100afc1f
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], edx
test eax, eax
jle 0x100afbea
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 0x100afbfc
mov eax, 0x10168a60
jmp 0x100afc0c
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 0x100afc4f
push dword [esp + 0x64]
mov edx, dword [esp + 0x8c]
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043ee0
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, eax
jmp 0x100afc8e
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 0x100afcc9
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 0x100afdd7
mov ecx, dword [esi]
lea eax, [ecx + 2]
mov dword [esp + 0x88], eax
cmp dword [edi + 0x70], ecx
jg 0x100afcfc
push 0
push eax
push 0
mov edx, 9
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100afd30
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 0x100afd78
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100afdb4
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 0x100afdd3
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 0x100affb6
cmp dword [esp + 0x50], 0
lea esi, [edi + 0x6c]
mov eax, dword [edx]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x34], edx
je 0x100afe0d
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.100ae090
mov eax, dword [esp + 0x54]
mov ecx, pe_nt_image_headers32
add esp, 8
mov dword [esp + 0x70], esi
test word [eax + 0xa], cx
je 0x100afe90
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100afe56
mov edx, 0x10168a6c
mov ecx, 0x10168a62
jmp 0x100afe6d
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 0x100afef8
mov ecx, dword [esp + 0x34]
call fcn.1005ea20
test eax, eax
je 0x100afef8
mov ecx, dword [esi]
mov esi, dword [esp + 0x3c]
cmp dword [edi + 0x70], ecx
jg 0x100afec6
push 0
push dword [esp + 0x6c]
mov edx, 0x32
mov ecx, edi
push esi
call fcn.10043ee0
add esp, 0xc
jmp 0x100afef8
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 0x100aff6c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
push esi
movzx edx, ax
call fcn.100acfd0
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 0x100aff3c
nop word [eax + eax]
cmp byte [esi], 0x41
jg 0x100aff3c
dec eax
inc ecx
inc esi
test eax, eax
jg 0x100aff30
cmp eax, 1
jle 0x100aff4e
cmp byte [eax + esi - 1], 0x41
jg 0x100aff52
dec eax
cmp eax, 1
jg 0x100aff41
test eax, eax
jle 0x100aff6c
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.100442f0
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 0x100aff86
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100aff8f
mov eax, dword [ecx + 0x14]
jmp 0x100aff99
cmp al, 0x8a
jne 0x100affa8
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jle 0x100affa8
mov dword [esp + 0x18], 1
jmp 0x100b0021
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x10]
call fcn.100acf60
jmp 0x100b0021
cmp byte [esp + 0x87], 0
je 0x100b0021
test eax, eax
jne 0x100b0020
movzx esi, cx
add esi, dword [esp + 0x64]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100affe5
push eax
push esi
push eax
lea edx, [eax + 0x4b]
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b0014
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 0x100b0034
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1001e880
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100b0047
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1001e880
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x100b0056
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x44], eax
test esi, esi
je 0x100b016b
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100b00b9
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 3]
cmp dword [edi + 0x70], ecx
jg 0x100b0086
push 0
push edx
push eax
mov edx, 0x11
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b00b9
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 0x100b00f1
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100b012e
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 0x100b0145
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 0x100b016b
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b015f
mov eax, 0x10168a60
jmp 0x100b0168
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 0x100b0260
mov ecx, dword [edi + 0x6c]
lea edx, [ecx + 2]
cmp dword [edi + 0x70], ecx
jg 0x100b0197
push 0
push edx
push eax
mov edx, 0x10
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b01ca
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 0x100b0203
push dword [esp + 0x64]
movzx edx, al
mov ecx, edi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100b0240
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 0x100b0260
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 0x100b02c9
mov eax, dword [esp + 0x60]
mov ecx, dword [edi + 0x6c]
movzx edx, ax
movzx esi, ax
cmp dword [edi + 0x70], ecx
jg 0x100b0296
push edx
push esi
push dword [esp + 0x60]
mov edx, 0x7d
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b02c5
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 0x100b032e
mov ecx, 0x1020
test word [eax + 0x28], cx
jne 0x100b032e
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 0x100b0314
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x100b0314
push dword [esp + 0x80]
mov edx, eax
call fcn.100ae180
mov edx, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x2c], 0x1000
je 0x100b0591
mov byte [edx + 0x3d], 0xb8
jmp 0x100b059e
mov edx, dword [esp + 0x7c]
xor ecx, ecx
mov esi, dword [edx + 0xc]
test byte [esi + 0x1c], 0x80
jne 0x100b035a
mov esi, dword [esp + 0x58]
mov ecx, eax
push esi
push dword [esp + 0x48]
call fcn.100adf20
add esp, 8
mov dword [esp + 0x2c], 0
jmp 0x100b02e9
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
cmp eax, dword [esp + 0x58]
je 0x100b0588
mov esi, dword [esi + 8]
mov dword [esp + 0x2c], ecx
test esi, esi
je 0x100b0390
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b0390
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b0380
movzx ecx, word [esi + 0x32]
cmp ecx, 1
jne 0x100b03c5
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b03b0
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x50], eax
jmp 0x100b0408
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x50], eax
jmp 0x100b0408
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x50], eax
cmp ecx, edx
jg 0x100b03ed
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 0x100b0404
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 0x100b0501
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
jmp 0x100b0444
mov edx, dword [esp + 0x7c]
movzx edx, word [edx + 0x34]
xor ecx, ecx
test edx, edx
je 0x100b0488
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 0x100b04b0
inc ecx
add eax, 2
cmp ecx, edx
jl 0x100b0470
or eax, 0xffffffff
mov ecx, dword [edi + 0x6c]
movsx edx, ax
cmp dword [edi + 0x70], ecx
jg 0x100b04b5
push dword [esp + 0x18]
mov ecx, edi
push edx
push dword [esp + 0x60]
mov edx, 0x5e
call fcn.10043ee0
add esp, 0xc
jmp 0x100b04e8
movzx eax, cx
jmp 0x100b048b
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 0x100b0440
mov edx, dword [edi + 0x6c]
movzx esi, cx
cmp dword [edi + 0x70], edx
jg 0x100b052e
push dword [esp + 0x50]
mov edx, 0x1c
mov ecx, edi
push dword [esp + 0x98]
push dword [esp + 0x4c]
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100b0568
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 0x100b02e5
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 0x100b02e5
mov esi, dword [esp + 0x58]
jmp 0x100b02ed
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 0x100b05b3
mov byte [edx + 0x3f], 1
cmp dword [esp + 0x2c], 0
je 0x100b1309
xor eax, eax
mov dword [esp + 0x7c], eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b1323
test edx, 0x2000
je 0x100b1234
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 0x100b0758
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.1001ec70
mov ecx, eax
add esp, 8
mov dword [esp + 0x70], ecx
test ecx, ecx
jne 0x100b06a7
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 0x100b074f
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 0x100b0705
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
add esi, 0x2c
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
jmp 0x100b075f
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
test byte [edx + 0x28], 0x10
jne 0x100b08e0
test byte [ecx + 0x1c], 0x80
jne 0x100b07f3
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 0x100b07ad
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.10043ee0
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 0x100b08e3
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 0x100b08e3
mov esi, dword [ecx + 8]
test esi, esi
je 0x100b0810
nop word [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b0810
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b0800
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 0x100b084a
push 0
push eax
push dword [esp + 0x48]
mov edx, 0x76
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b0880
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.100788a0
mov esi, eax
test esi, esi
je 0x100b08cc
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x100b08ba
push esi
mov edx, 0xfffffff8
call fcn.10044b40
add esp, 4
jmp 0x100b08cc
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 0x100b08e3
lea esi, [edi + 0x6c]
mov edx, dword [esi]
mov dword [esp + 0x30], edx
cmp dword [edi + 0x70], edx
jg 0x100b090b
push 0
push dword [esp + 0x30]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.10043ee0
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x100b093d
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 0x100b0a4a
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 0x100b09b2
mov edi, 0x8006
test word [eax + 0xa], di
mov edi, dword [esp + 0x3c]
jne 0x100b09b2
mov ecx, 0x3fff
test word [eax + 0xc], cx
mov ecx, dword [esp + 0x18]
je 0x100b09b2
test dword [edx + 4], 0x400000
jne 0x100b09b2
mov ecx, dword [esp + 0x78]
push 0
push 0
call fcn.1005d480
mov ecx, dword [esp + 0x18]
mov edx, edi
push eax
call fcn.1005ca60
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 0x100b0958
test edi, edi
mov edi, dword [esp + 0x38]
je 0x100b0a4a
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.1001ec70
mov esi, eax
add esp, 8
test esi, esi
je 0x100b0a37
push 0x34
push 0
push esi
call fcn.10129b70
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 0x100b0a46
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.10022520
add esp, 0xc
jmp 0x100b0a46
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
call fcn.1005d210
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10]
push str.MULTI_INDEX_OR
push 1
push esi
call fcn.10044570
mov edx, dword [esp + 0x40]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x48], ecx
cmp dword [edx + 0xc], ecx
jle 0x100b0ae8
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 0x100b0a8d
mov edx, 0x400
test word [eax + 0xc], dx
je 0x100b0ad8
mov edx, dword [eax]
mov dword [esp + 0x5c], 0
test edx, edx
je 0x100b0ab3
mov ecx, dword [esp + 0x78]
push 0
push 0
call fcn.1005d480
mov ecx, dword [esp + 0x50]
add esp, 8
mov esi, eax
jmp 0x100b0ab5
xor esi, esi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x54], esi
cmp byte [eax + 0x57], 0
je 0x100b0afd
test esi, esi
je 0x100b0ad4
mov edx, esi
mov ecx, eax
call fcn.1005d210
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 0x100b0a70
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x100b104f
xor eax, eax
jmp 0x100b106d
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100b0b0a
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.10044570
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.100bd550
mov esi, eax
add esp, 0x28
mov dword [esp + 0x50], esi
test esi, esi
je 0x100b102f
mov edx, dword [esp + 0x70]
lea ecx, [esi + 0x2f8]
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100ac8e0
mov eax, dword [ebp + 8]
add esp, 8
test byte [eax + 0x28], 0x10
jne 0x100b0efd
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 0x100b0c74
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b0bbd
push 0
push dword [esp + 0x50]
mov edx, 0x87
mov ecx, edi
push dword [esp + 0x4c]
call fcn.10043ee0
add esp, 0xc
jmp 0x100b0bf0
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 0x100b0c1d
push dword [esp + 0x4c]
mov edx, 0x2f
mov ecx, edi
push 0
push dword [esp + 0x48]
call fcn.10043ee0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x5c], edx
jmp 0x100b0c54
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 0x100b0ef9
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 0x100b0ef9
mov ecx, eax
call fcn.100703f0
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 0x100b0cc7
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b0cb0
inc dword [ecx + 0x2c]
xor esi, esi
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x100b0d10
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 0x100b0d10
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x1c], edx
cmp esi, ecx
jg 0x100b0cf0
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 0x100b0d03
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 0x100b0d40
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.10061b60
mov edx, dword [esp + 0x28]
inc esi
add esp, 0xc
cmp esi, dword [esp + 0x60]
jl 0x100b0d10
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100b0dce
mov esi, dword [edi + 0x6c]
mov dword [esp + 0x5c], esi
cmp dword [edi + 0x70], esi
jg 0x100b0d7a
push edx
push 0
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, edi
call fcn.10043ee0
mov edx, dword [esp + 0x28]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x5c], esi
jmp 0x100b0dad
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 0x100b0dc8
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 0x100b0ebc
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100b0df7
mov esi, dword [esp + 0x4c]
mov ecx, edi
push esi
push dword [esp + 0x64]
push edx
mov edx, 0x61
call fcn.10043ee0
add esp, 0xc
jmp 0x100b0e26
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 0x100b0e4e
mov esi, dword [esp + 0x1c]
mov edx, 0x8a
push esi
push dword [esp + 0x50]
mov ecx, edi
push dword [esp + 0x48]
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100b0e81
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 0x100b0e9c
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 0x100b0ec0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100b0ec0
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x100b0ec0
mov esi, dword [esp + 0x1c]
cmp word [esp + 0x64], 1
jne 0x100b0ee6
test esi, esi
je 0x100b0ef9
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x100b0ef9
movzx eax, al
mov dword [edx + eax*4 + 0xa0], esi
inc byte [edx + 0x13]
jmp 0x100b0ef9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
cmp eax, dword [edx + 0x1c]
jle 0x100b0ef9
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 0x100b0f20
push 0
push dword [esp + 0x70]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x34]
call fcn.10043ee0
add esp, 0xc
jmp 0x100b0f53
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 0x100b0f79
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b0f6d
mov eax, 0x10168a60
jmp 0x100b0f76
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 0x100b0fcd
cmp dword [esp + 0x48], 0
je 0x100b0fae
mov eax, dword [esp + 0x74]
cmp dword [ecx + 0x20], eax
jne 0x100b0fcd
mov eax, dword [esp + 0x20]
test byte [eax + 0x1c], 0x80
je 0x100b0fc4
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x100b0fcd
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x74], eax
jmp 0x100b0fd5
mov dword [esp + 0x74], 0
test dl, 1
je 0x100b0fe1
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 1
mov ecx, esi
call fcn.100be550
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x100b1000
xor eax, eax
mov dword [esi + 0xe4], eax
jmp 0x100b1033
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100b101b
mov eax, 0x10168a60
mov eax, dword [eax + 8]
mov dword [esi + 0xe4], eax
jmp 0x100b1033
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 0x100b1033
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x100b1046
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1005d210
mov ecx, dword [esp + 0x48]
jmp 0x100b0ad8
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100b1061
mov eax, 0x10168a60
jmp 0x100b106a
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 0x100b1088
mov eax, dword [esp + 0x58]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100b10a2
mov ecx, dword [esp + 0x78]
mov edx, eax
mov dword [eax + 0xc], 0
call fcn.1005d210
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b10b4
mov eax, 0x10168a60
jmp 0x100b10c1
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 0x100b10e5
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b1114
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 0x100b1132
push edx
mov edx, edi
call fcn.100447c0
add esp, 4
jmp 0x100b113b
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 0x100b1208
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
test ecx, ecx
je 0x100b11a9
cmp esi, dword [ecx + 0x164]
jae 0x100b1197
cmp esi, dword [ecx + 0x15c]
jb 0x100b117f
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x100b1208
cmp esi, dword [ecx + 0x160]
jb 0x100b1197
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x100b1208
cmp dword [ecx + 0x210], 0
je 0x100b11a9
mov edx, esi
call fcn.1001e780
jmp 0x100b1205
test esi, esi
je 0x100b1208
cmp dword [0x10165b38], 0
je 0x100b11fb
mov eax, dword [0x10168b88]
test eax, eax
je 0x100b11c9
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 0x100b1205
push eax
call dword [0x10165b90]
jmp 0x100b1202
push esi
call dword [0x10165b5c]
add esp, 4
mov edx, dword [ebp + 0x10]
cmp dword [esp + 0x68], 0
jne 0x100aed98
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 0x10]
call fcn.100acf60
mov edx, dword [ebp + 0x10]
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b1323
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0x10]
test byte [eax + 0x28], 0x40
je 0x100b125a
xor eax, eax
mov byte [edx + 0x3d], 0xb8
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b1323
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 0x100b12b3
push 0
push esi
push dword [esp + 0x4c]
movzx edx, al
mov ecx, edi
call fcn.10043ee0
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 0x100b1323
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 0x100b1323
mov eax, dword [esp + 0x7c]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x34], eax
jmp 0x100b1323
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 0x100b15c9
jmp 0x100b1347
mov edx, dword [ebp + 0x10]
xor eax, eax
test byte [esi + 0xa], 6
mov dword [esp + 0x20], eax
jne 0x100b15b5
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [edx + 0x58]
and eax, dword [edx + 0x5c]
or ecx, eax
je 0x100b1373
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 2
jmp 0x100b15b1
mov eax, dword [esp + 0x90]
mov edx, dword [esi]
mov dword [esp + 0x18], edx
mov al, byte [eax + 0x24]
test al, 0x58
je 0x100b1424
mov ecx, dword [edx + 4]
test cl, 3
je 0x100b15b1
test al, 8
je 0x100b13a4
test cl, 1
je 0x100b15b1
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
cmp dword [ecx + 0x1f8], eax
jne 0x100b13bb
mov ecx, 1
xor edx, edx
jmp 0x100b140d
mov edx, dword [ecx + 0x1f4]
mov eax, 1
mov dword [esp + 0x54], edx
cmp edx, eax
jle 0x100b13f3
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 0x100b14ab
inc eax
add ecx, 4
cmp eax, edx
jl 0x100b13d4
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 0x100b15b1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x100b14c5
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], 0x100660b0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x100b1492
lea ecx, [esp + 0xa0]
call fcn.10058170
cmp word [esp + 0xb4], 0
je 0x100b14ca
mov ecx, 2
mov dword [esp + 0x4c], ecx
jmp 0x100b15b5
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 0x100b140d
cmp eax, 3
jge 0x100b14ef
mov eax, 0x1000
test word [esi + 0xa], ax
je 0x100b14ef
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x100b15b5
mov ecx, 3
mov dword [esp + 0x4c], ecx
jmp 0x100b15b5
mov eax, 0x200
test word [esi + 0xa], ax
je 0x100b156d
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x100b156d
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 0x100b1533
push 0
push 0
push eax
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x100b156d
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.10065280
mov ecx, dword [esp + 0x30]
add esp, 0x10
test ecx, ecx
je 0x100b15ac
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100b15a0
mov eax, 0x10168a60
jmp 0x100b15a9
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 0x100b1344
mov dword [esp + 0x34], ecx
test ecx, ecx
jg 0x100b1320
mov esi, dword [esp + 0x80]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x2c], edx
test edx, edx
jle 0x100b1701
mov edi, eax
test byte [edi + 0xa], 6
jne 0x100b16ed
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 0x100b16ed
mov ecx, dword [esp + 0x44]
cmp dword [edi + 0x14], ecx
jne 0x100b16ed
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x58
jne 0x100b16ed
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.100b6210
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100b16e9
test byte [esi + 0xa], 4
jne 0x100b16e9
test byte [esi + 0xc], 1
je 0x100b168a
mov eax, dword [esi]
test dword [eax + 4], 0x1000
je 0x100b168a
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x100b16e9
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.10065280
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 0x100b15f0
mov edi, dword [esp + 0x38]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x34], eax
test eax, eax
je 0x100b1b6c
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 0x100b17d3
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x1c]
mov esi, dword [edx + 0x20]
cmp ecx, 2
jl 0x100b1752
lea eax, [esi + 2]
mov dword [edx + 0x20], eax
lea eax, [ecx - 2]
mov dword [edx + 0x1c], eax
jmp 0x100b175e
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 0x100b1793
push 0
push edx
push eax
mov edx, 0x87
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x100b18b7
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 0x100b18b7
mov esi, dword [eax + 8]
test esi, esi
je 0x100b17f0
nop word [eax + eax]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100b17f0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100b17e0
movzx eax, word [esi + 0x32]
mov dword [esp + 0x1c], eax
lea ecx, [eax + 1]
cmp ecx, 1
jne 0x100b1824
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100b1813
inc dword [ecx + 0x2c]
mov edx, dword [ecx + 0x2c]
jmp 0x100b1868
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edx, dword [ecx + eax*4 + 0xa0]
jmp 0x100b1868
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 0x100b1855
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 0x100b186c
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 0x100b18b3
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.10061b60
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 0x100b1880
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 0x100b18ed
push eax
mov edx, ecx
mov ecx, edi
push 0
push edx
mov edx, 0x1d
call fcn.10043ee0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x2c], edx
jmp 0x100b1923
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 0x100b1951
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 0x100b1955
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x70], eax
jg 0x100b1977
push esi
push edx
lea eax, [esi + 1]
mov edx, 0x61
push eax
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
jmp 0x100b19a6
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 0x100b19d1
lea eax, [esi + 1]
mov edx, 0x8a
push eax
push esi
push ecx
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
mov edx, eax
jmp 0x100b1a06
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 0x100b1a3b
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 0x100b1a42
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 0x100b1a7c
lea eax, [esi + 1]
mov edx, 0xb4
push eax
push 0
push dword [esp + 0x2c]
mov ecx, edi
call fcn.10043ee0
add esp, 0xc
lea edx, [edi + 0x68]
mov ecx, eax
jmp 0x100b1ab8
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 0x100b1adf
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 0x100b1ae3
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
test ecx, ecx
jle 0x100b1b0d
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 0x100b1b22
mov eax, 0x10168a60
jmp 0x100b1b32
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 0x100b1b5d
test esi, esi
je 0x100b1b6c
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x100b1b6c
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], esi
inc byte [ecx + 0x13]
jmp 0x100b1b6c
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jle 0x100b1b6c
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 0x100b1c04
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 0x100b1bb2
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.10043ee0
lea eax, [edi + 0x68]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100b1bea
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 0x100b1c9e
mov eax, dword [eax + 0x38]
mov edx, esi
mov ecx, esi
mov dword [esp + 0x34], eax
jmp 0x100b1c2b
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 0x100b1d07
mov eax, dword [eax + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
cmp dword [eax], ecx
jg 0x100b1c56
mov edx, dword [esp + 0x20]
mov ecx, edi
push 0
push edx
push 0
mov edx, 0x4a
call fcn.10043ee0
add esp, 0xc
jmp 0x100b1c8b
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 0x100b1d07
jmp 0x100b1cb4
mov eax, dword [ebp + 0x10]
test byte [esi + 0xa], 6
jne 0x100b1cf7
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 0x100b1cf7
mov eax, dword [esp + 0x90]
test byte [eax + 0x24], 0x40
jne 0x100b1cf7
push 0x10
push dword [esp + 0x98]
push dword [esi]
push edx
call fcn.10065280
add esp, 0x10
or word [esi + 0xa], 4
mov eax, dword [esp + 0x80]
inc edi
add esi, 0x30
cmp edi, dword [eax + 0x14]
jl 0x100b1cb1
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