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

Disassembly:
sub esp, 0x58
push ebp
mov ebp, dword [esp + 0x64]
xorps xmm0, xmm0
push edi
movlpd qword [esp + 0x58], xmm0
mov dword [esp + 0x30], 0
mov eax, dword [ebp]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov edi, dword [eax]
mov dword [esp + 0x4c], edi
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
cmp byte [ecx + 0x57], 0
jne 0x100e8174
mov ecx, dword [esp + 0x6c]
lea edx, [eax + 0x1f0]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x1c], edx
shl ecx, 4
add ebx, ecx
mov dword [esp + 0x14], ecx
mov esi, dword [ebx]
mov dword [edx], 0
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100e6eaf
cmp byte [eax], 0xa7
jne 0x100e6e76
test byte [eax + 4], 0x20
jne 0x100e6e76
push dword [eax + 0x1c]
push edx
call fcn.1014e050
mov dword [esp + 0x3c], edx
add esp, 8
mov edx, dword [esp + 0x1c]
jmp 0x100e6ec1
test dword [eax + 4], 0x810000
je 0x100e6e9b
movlpd qword [esp + 0x58], xmm0
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
jmp 0x100e6ec5
push eax
push edx
call fcn.1014de50
mov dword [esp + 0x3c], edx
add esp, 8
mov edx, dword [esp + 0x1c]
jmp 0x100e6ec1
movlpd qword [esp + 0x58], xmm0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov al, byte [esi]
mov byte [esp + 0x13], al
movzx eax, al
mov dword [esp + 0x50], eax
cmp eax, 0x31
jne 0x100e6f2c
push esi
push edi
call fcn.10115c90
add esp, 8
test eax, eax
jne 0x100e8172
test dword [esi + 4], 0x1000
lea ecx, [esi + 4]
mov eax, dword [esi + 0x14]
push eax
push dword [esp + 0x20]
mov dword [esp + 0x20], ecx
je 0x100e6f08
call fcn.100ea060
jmp 0x100e6f0d
call fcn.1014ddb0
mov ecx, edx
mov dword [ebx + 0x20], eax
or eax, dword [esp + 0x38]
lea edx, [esi + 4]
add esp, 8
mov dword [ebx + 0x24], ecx
or ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
jmp 0x100e7007
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100e6f65
cmp byte [eax], 0xa7
jne 0x100e6f4e
test byte [eax + 4], 0x20
jne 0x100e6f4e
push dword [eax + 0x1c]
push edx
call fcn.1014e050
add esp, 8
mov ecx, edx
jmp 0x100e6f76
test dword [eax + 4], 0x810000
jne 0x100e6f65
push eax
push edx
call fcn.1014de50
add esp, 8
mov ecx, edx
jmp 0x100e6f76
xorps xmm0, xmm0
movlpd qword [esp + 0x58], xmm0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
cmp dword [esi + 0xc], 0
je 0x100e6fa6
test dword [esi + 4], 0x41000
lea edx, [esi + 4]
mov dword [esp + 0x18], edx
jne 0x100e6fa6
cmp dword [esi + 0x14], 0
jne 0x100e6fa6
or eax, dword [esp + 0x30]
or ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
jmp 0x100e7007
cmp byte [esi], 0xa7
lea edx, [esi + 4]
mov eax, dword [edx]
mov dword [esp + 0x18], edx
jne 0x100e6fcd
test al, 0x20
jne 0x100e6fcd
push dword [esi + 0x1c]
push dword [esp + 0x20]
call fcn.1014e050
mov dword [esp + 0x34], edx
lea edx, [esi + 4]
jmp 0x100e7004
test eax, 0x810000
je 0x100e6fef
xorps xmm0, xmm0
mov dword [esp + 0x18], edx
movlpd qword [esp + 0x58], xmm0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
jmp 0x100e7007
push esi
push dword [esp + 0x20]
call fcn.1014de50
mov dword [esp + 0x34], edx
lea edx, [esi + 4]
mov dword [esp + 0x20], edx
add esp, 8
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
cmp dword [ecx], 0
je 0x100e701d
mov eax, 0x1000
or word [ebx + 0xa], ax
mov eax, dword [edx]
mov dword [esp + 0x4c], eax
test al, 3
je 0x100e7102
push dword [esi + 0x24]
push ecx
call fcn.1014e050
mov ecx, dword [esp + 0x54]
add esp, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
test cl, 1
je 0x100e709c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
or eax, ecx
mov edx, dword [esp + 0x2c]
or edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov dword [esp + 0x28], eax
mov eax, edx
mov dword [esp + 0x3c], ecx
add dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x58]
adc ebp, 0xffffffff
shrd edx, eax, 1
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x70]
shr eax, 1
cmp eax, dword [esp + 0x40]
ja 0x100e70d1
jb 0x100e7096
cmp edx, ecx
jae 0x100e70d1
mov edx, dword [esp + 0x28]
jmp 0x100e7116
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
shrd dword [esp + 0x4c], eax, 1
shr eax, 1
cmp eax, dword [esp + 0x40]
jb 0x100e7106
ja 0x100e70c2
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x3c]
jb 0x100e7106
mov eax, dword [esp + 0x6c]
cmp dword [eax], 0
jle 0x100e70e7
test byte [eax + 0x2c], 0x40
je 0x100e70e7
push str.ON_clause_references_tables_to_its_right
push edi
call fcn.10114f40
add esp, 8
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
mov eax, dword [esp + 0x18]
and ecx, 0xfffffffd
mov dword [eax], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
jmp 0x100e7116
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x2c], eax
xor eax, eax
mov word [ebx + 0xc], ax
mov al, byte [esp + 0x13]
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x14], 0xffffffff
mov dword [ebx + 0x10], 0xffffffff
cmp al, 0x31
je 0x100e7758
cmp al, 0x35
jb 0x100e714c
cmp al, 0x39
jbe 0x100e7758
cmp al, 0x32
je 0x100e7758
cmp al, 0x2d
je 0x100e7758
mov al, byte [esi]
cmp al, 0x30
jne 0x100e7306
cmp byte [ebp + 8], 0x2c
jne 0x100e7327
mov eax, dword [esi + 0x14]
add eax, 8
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], eax
mov eax, dword [eax]
mov ebx, dword [esp + 0x24]
test eax, eax
je 0x100e719e
push 0
push 0
push eax
push ebx
call fcn.100e9210
add esp, 0x10
mov ebp, eax
jmp 0x100e71a0
xor ebp, ebp
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100e71b9
push 0
push 0
push eax
push ebx
call fcn.100e9210
add esp, 0x10
mov ebx, eax
jmp 0x100e71bb
xor ebx, ebx
mov eax, dword [esp + 0x48]
push 0
push 0x34
push dword [edi]
mov al, byte [eax + 0x1018fa3c]
mov byte [esp + 0x1f], al
call fcn.10112e00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100e7271
push 0x34
push 0
push esi
call fcn.1016bd70
mov al, byte [esp + 0x1f]
add esp, 0xc
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ebp, ebp
je 0x100e7215
mov dword [esi + 0x10], ebp
mov eax, dword [ebp + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ebp + 0x18]
inc ecx
jmp 0x100e721a
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x100e723c
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x100e723c
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x100e7257
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.10114f40
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
and eax, 3
je 0x100e728f
or dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x100e728f
test ebx, ebx
je 0x100e7280
push ebx
push dword [edi]
call fcn.10118890
add esp, 8
test ebp, ebp
je 0x100e728f
push ebp
push dword [edi]
call fcn.10118890
add esp, 8
mov ebp, dword [esp + 0x70]
push 3
push esi
push ebp
call fcn.1015c340
mov esi, eax
push esi
push ebp
push dword [esp + 0x80]
call fcn.100e6de0
mov ecx, dword [ebp + 0x18]
lea edx, [esi + esi*2]
mov eax, dword [esp + 0x8c]
add edx, edx
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov esi, dword [esp + 0x14]
add ebx, ecx
mov dword [ecx + edx*8 + 0x10], eax
mov ecx, dword [ebp + 0x18]
mov ax, word [esi + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x48]
inc ecx
mov dword [esp + 0x48], ecx
inc byte [esi + eax + 0xe]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x20]
add eax, 0x14
mov dword [esp + 0x50], eax
cmp ecx, 2
jl 0x100e7182
jmp 0x100e7b28
cmp al, 0x2b
jne 0x100e7327
push dword [esp + 0x74]
push ebp
push dword [esp + 0x74]
call fcn.100e8180
mov ebx, dword [ebp + 0x18]
add esp, 0xc
add ebx, dword [esp + 0x14]
jmp 0x100e7b28
cmp al, 0x33
jne 0x100e743a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x48], eax
cmp byte [eax], 0xa7
jne 0x100e7b28
cmp word [eax + 0x20], 0
jl 0x100e7b28
mov ecx, dword [esp + 0x18]
test byte [ecx], 1
jne 0x100e7b28
test eax, eax
je 0x100e7372
push 0
push 0
push eax
push dword [esp + 0x30]
call fcn.100e9210
add esp, 0x10
mov dword [esp + 0x50], eax
jmp 0x100e737a
mov dword [esp + 0x50], 0
push 0
push 0x34
push dword [esp + 0x2c]
call fcn.10112e00
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x100e73b4
push 0x34
push 0
push eax
call fcn.1016bd70
mov eax, dword [esp + 0x64]
add esp, 0xc
or ecx, 0xffffffff
mov byte [eax], 0x79
mov word [eax + 0x22], cx
mov dword [eax + 0x18], 1
push eax
push dword [esp + 0x54]
push 0x36
push edi
call fcn.10125b70
push 0x83
push eax
push ebp
call fcn.1015c340
mov edx, eax
add esp, 0x1c
test edx, edx
je 0x100e7b28
mov ecx, dword [esp + 0x48]
lea esi, [edx + edx*2]
push dword [esp + 0x74]
shl esi, 4
add esi, dword [ebp + 0x18]
push edx
push ebp
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ecx + 0x20]
mov dword [esi + 0x18], eax
mov eax, 4
mov word [esi + 0xc], ax
call fcn.100f69b0
mov ebx, dword [ebp + 0x18]
add esp, 0xc
add ebx, dword [esp + 0x14]
or word [ebx + 0xa], 8
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x20]
jmp 0x100e7b28
cmp al, 0xac
jne 0x100e7b28
cmp byte [ebp + 8], 0x2c
jne 0x100e7b28
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
push esi
push edi
call fcn.100f2520
add esp, 0x14
test eax, eax
je 0x100e7b28
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x100e749a
push 0
push 0
push ecx
push dword [esp + 0x30]
call fcn.100e9210
mov ecx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x40], eax
jmp 0x100e74a2
mov dword [esp + 0x40], 0
cmp dword [esp + 0x48], 0
je 0x100e750c
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x100e750c
mov eax, 0x400
or word [ebx + 0xa], ax
xor ebx, ebx
mov eax, dword [ecx + 8]
mov dword [esp + 0x58], eax
mov cl, byte [eax]
test cl, cl
je 0x100e750c
mov ebp, dword [esp + 0x38]
mov esi, eax
mov edi, dword [esp + 0x40]
movzx edx, cl
lea ebx, [ebx + 1]
mov al, byte [edx + 0x10190058]
and al, 0x20
not al
and al, cl
mov byte [esi + ebx - 1], al
mov ecx, dword [edi + 8]
mov al, byte [edx + 0x1018ff38]
mov byte [ebx + ecx - 1], al
mov esi, dword [ebp + 8]
mov cl, byte [esi + ebx]
test cl, cl
jne 0x100e74d3
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100e756f
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 8]
test edx, edx
jne 0x100e7525
xor ecx, ecx
jmp 0x100e753f
mov ecx, edx
lea ebx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e7530
sub ecx, ebx
and ecx, 0x3fffffff
mov al, byte [edx + ecx - 1]
add edx, ecx
cmp dword [esp + 0x48], 0
mov ecx, dword [esp + 0x44]
je 0x100e7560
xor ebx, ebx
cmp al, 0x40
movzx eax, al
cmove ecx, ebx
mov al, byte [eax + 0x1018ff38]
inc al
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x24]
mov byte [edx - 1], al
jmp 0x100e7577
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x48], 0
mov eax, 0x1019004c
mov ebx, str.NOCASE
cmove ebx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x58], ebx
test eax, eax
je 0x100e75a5
push 0
push 0
push eax
push ecx
call fcn.100e9210
add esp, 0x10
jmp 0x100e75a7
xor eax, eax
push ebx
push eax
push edi
call fcn.10115420
push 0
push 0x34
push dword [edi]
mov dword [esp + 0x60], eax
call fcn.10112e00
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x100e766a
push 0x34
push 0
push ebx
call fcn.1016bd70
mov ecx, dword [esp + 0x44]
lea edx, [ebx + 4]
or eax, 0xffffffff
mov byte [ebx], 0x39
add esp, 0xc
mov word [ebx + 0x22], ax
mov dword [esp + 0x50], edx
test ecx, ecx
je 0x100e7604
mov dword [ebx + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [edx], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x100e760d
mov ecx, 1
mov dword [esp + 0x50], edx
mov dword [ebx + 0x18], ecx
mov edx, dword [esp + 0x48]
test edx, edx
je 0x100e7639
mov ecx, dword [esp + 0x50]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx], eax
mov eax, dword [edx + 0x18]
mov ecx, dword [ebx + 0x18]
cmp eax, ecx
jl 0x100e7639
lea ecx, [eax + 1]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x100e7654
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.10114f40
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
and eax, 3
je 0x100e7690
or dword [ebx + 4], eax
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x24], eax
jmp 0x100e7690
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100e767d
push eax
push dword [edi]
call fcn.10118890
add esp, 8
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100e7690
push eax
push dword [edi]
call fcn.10118890
add esp, 8
push 0x103
push ebx
push ebp
call fcn.1015c340
mov ebx, dword [esp + 0x78]
push eax
push ebp
push ebx
mov dword [esp + 0x68], eax
call fcn.100e6de0
mov eax, dword [esp + 0x4c]
add esp, 0x18
test eax, eax
je 0x100e76ca
push 0
push 0
push eax
push dword [esp + 0x30]
call fcn.100e9210
add esp, 0x10
jmp 0x100e76cc
xor eax, eax
push dword [esp + 0x40]
push dword [esp + 0x5c]
push eax
push edi
call fcn.10115420
add esp, 0xc
push eax
push 0x38
push edi
call fcn.10125b70
mov ecx, eax
add esp, 0x10
test ecx, ecx
je 0x100e7704
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
and eax, 3
je 0x100e7704
or dword [ecx + 4], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x24], eax
push 0x103
push ecx
push ebp
call fcn.1015c340
push eax
push ebp
push ebx
mov dword [esp + 0x70], eax
call fcn.100e6de0
mov ebx, dword [ebp + 0x18]
add esp, 0x18
add ebx, dword [esp + 0x14]
cmp dword [esp + 0x44], 0
je 0x100e7b28
push dword [esp + 0x74]
push dword [esp + 0x54]
push ebp
call fcn.100f69b0
push dword [esp + 0x80]
push dword [esp + 0x68]
push ebp
call fcn.100f69b0
add esp, 0x18
jmp 0x100e7b28
mov edx, dword [esi + 0xc]
mov dword [esp + 0x40], edx
test edx, edx
je 0x100e7777
test dword [edx + 4], 0x2000
je 0x100e7773
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x100e7763
mov dword [esp + 0x40], edx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x48], eax
test eax, eax
je 0x100e7796
test dword [eax + 4], 0x2000
je 0x100e7792
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x100e7782
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
and ecx, dword [ebx + 0x20]
and eax, dword [ebx + 0x24]
or ecx, eax
mov dword [esp + 0x44], 0x3fff
je 0x100e77b8
mov dword [esp + 0x44], 0x800
mov eax, dword [ebx + 0x1c]
test eax, eax
jle 0x100e77cd
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + ecx*4 - 0xc]
mov dword [esp + 0x40], edx
push dword [esp + 0x50]
lea eax, [esp + 0x64]
push edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x80]
call fcn.100e9b40
mov edx, dword [esp + 0x68]
add esp, 0x18
test eax, eax
je 0x100e7816
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x64]
push edx
mov dword [ebx + 0x18], eax
call fcn.100f9d20
add esp, 4
and ax, word [esp + 0x44]
mov word [ebx + 0xc], ax
cmp byte [esp + 0x13], 0x2d
mov eax, 0x800
jne 0x100e7826
or word [ebx + 0xa], ax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100e7ad6
push edx
push eax
lea eax, [esp + 0x68]
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [esp + 0x80]
call fcn.100e9b40
add esp, 0x18
test eax, eax
je 0x100e7ad6
mov eax, dword [esp + 0x48]
test byte [eax + 4], 0x20
jne 0x100e7ad6
cmp dword [ebx + 0x14], 0
mov dword [esp + 0x38], 0
jl 0x100e79b7
mov ebx, dword [esp + 0x24]
push 0
push 0
push esi
push ebx
call fcn.100e9210
add esp, 0x10
mov esi, eax
cmp byte [ebx + 0x57], 0
je 0x100e78aa
test esi, esi
je 0x100e8172
push esi
push ebx
call fcn.10118890
add esp, 8
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret
push 3
push esi
push ebp
call fcn.1015c340
add esp, 0xc
test eax, eax
je 0x100e8172
push dword [esp + 0x74]
lea ebx, [eax + eax*2]
shl ebx, 4
add ebx, dword [ebp + 0x18]
push eax
push ebp
mov dword [esp + 0x4c], ebx
call fcn.100f69b0
add esp, 0xc
cmp byte [esp + 0x13], 0x2d
jne 0x100e78e9
mov eax, 0x800
or word [ebx + 0xa], ax
mov ebx, dword [ebp + 0x18]
add ebx, dword [esp + 0x14]
or word [ebx + 0xa], 8
mov eax, dword [edi]
test byte [eax + 0x50], 0x80
jne 0x100e79bb
mov al, byte [esi]
cmp al, 0x35
je 0x100e790f
cmp al, 0x2d
jne 0x100e79bb
test byte [esi + 4], 1
jne 0x100e79bb
push dword [esi + 0xc]
call fcn.10115500
push dword [esi + 0x10]
mov byte [esp + 0x1b], al
call fcn.10115500
mov cl, al
add esp, 8
mov al, byte [esp + 0x13]
cmp al, cl
je 0x100e7943
cmp al, 0x43
jl 0x100e79bb
cmp cl, 0x43
jl 0x100e79bb
push esi
push edi
call fcn.10118790
add esp, 8
test eax, eax
je 0x100e79a8
cmp dword [eax + 0xc], fcn.100dd8f0
je 0x100e79a8
push dword [esi + 0xc]
mov eax, dword [esi + 0x10]
push edi
mov dword [esp + 0x60], eax
call fcn.10118360
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
jne 0x100e797e
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
push dword [esp + 0x58]
push edi
call fcn.10118360
add esp, 8
test eax, eax
jne 0x100e7994
mov eax, dword [edi]
mov eax, dword [eax + 8]
push dword [eax]
mov eax, dword [esp + 0x54]
push dword [eax]
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x100e79bb
mov eax, 0x800
or word [ebx + 0xc], ax
mov dword [esp + 0x38], eax
jmp 0x100e79bb
mov dword [esp + 0x40], ebx
mov ecx, dword [esi + 0xc]
cmp byte [ecx], 0xb1
je 0x100e7a5f
mov eax, dword [esi + 0x10]
mov dword [esp + 0x58], eax
cmp byte [eax], 0xb1
je 0x100e7a5f
test dword [ecx + 4], 0x200
je 0x100e79e3
push ecx
jmp 0x100e7a0b
test eax, eax
je 0x100e79f3
test dword [eax + 4], 0x200
je 0x100e79f3
push eax
jmp 0x100e7a0b
push ecx
push edi
call fcn.10118360
mov ecx, eax
add esp, 8
mov dword [esp + 0x48], ecx
test ecx, ecx
jne 0x100e7a18
push dword [esp + 0x58]
push edi
call fcn.10118360
add esp, 8
mov dword [esp + 0x48], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], eax
test dword [ecx + 4], 0x200
je 0x100e7a2e
push ecx
jmp 0x100e7a50
test eax, eax
je 0x100e7a3e
test dword [eax + 4], 0x200
je 0x100e7a3e
push eax
jmp 0x100e7a50
push ecx
push edi
call fcn.10118360
add esp, 8
test eax, eax
jne 0x100e7a59
push dword [esp + 0x58]
push edi
call fcn.10118360
add esp, 8
cmp dword [esp + 0x48], eax
je 0x100e7a66
xor dword [esi + 4], 0x400
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], eax
mov al, byte [esi]
mov dword [esi + 0xc], ecx
cmp al, 0x36
jb 0x100e7a80
sub al, 0x36
xor al, 2
add al, 0x36
mov byte [esi], al
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
or ecx, dword [esp + 0x4c]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x3c]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x2c], eax
movzx eax, byte [esi]
push eax
call fcn.100f9d20
add ax, word [esp + 0x3c]
add esp, 4
and ax, word [esp + 0x44]
mov esi, dword [esp + 0x20]
mov word [edx + 0xc], ax
jmp 0x100e7b28
cmp byte [esp + 0x13], 0x32
jne 0x100e7b28
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
test al, 1
jne 0x100e7b28
push dword [esp + 0x40]
call fcn.10115be0
add esp, 4
test eax, eax
jne 0x100e7b28
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x58]
or eax, 0x20000000
mov byte [esi], 0xaa
mov dword [esi + 8], str.false
mov dword [ecx], eax
xor eax, eax
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov word [ebx + 0xc], ax
mov cl, byte [esi]
cmp cl, 0x35
je 0x100e7b38
cmp cl, 0x2d
jne 0x100e7d05
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0xb0
jne 0x100e7b44
mov al, byte [edx + 2]
cmp al, 0xb1
jne 0x100e7b4d
mov edx, dword [edx + 0x14]
jmp 0x100e7b5b
cmp al, 0x8a
jne 0x100e7d05
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 0x1c]
mov edx, dword [edx]
mov dword [esp + 0x48], edx
cmp edx, 1
jle 0x100e7d05
mov eax, dword [esi + 0x10]
mov ch, byte [eax]
cmp ch, 0xb0
jne 0x100e7b77
mov ch, byte [eax + 2]
cmp ch, 0xb1
jne 0x100e7b81
mov eax, dword [eax + 0x14]
jmp 0x100e7b90
cmp ch, 0x8a
jne 0x100e7d05
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], edx
jne 0x100e7d05
mov eax, dword [esi + 0xc]
test dword [eax + 4], 0x1000
je 0x100e7bb4
mov eax, dword [esi + 0x10]
test dword [eax + 4], 0x1000
jne 0x100e7d05
cmp byte [ebp + 8], 0x2c
jne 0x100e7d05
xor ebp, ebp
mov dword [esp + 0x50], ebp
push edx
push ebp
push dword [esi + 0xc]
push edi
call fcn.10118920
push dword [esp + 0x58]
mov ebx, eax
push ebp
push dword [esi + 0x10]
push edi
call fcn.10118920
push 0
mov ebp, eax
mov al, byte [esi]
push 0x34
push dword [edi]
mov byte [esp + 0x3f], al
call fcn.10112e00
mov esi, eax
add esp, 0x2c
test esi, esi
je 0x100e7c8f
push 0x34
push 0
push esi
call fcn.1016bd70
mov al, byte [esp + 0x1f]
add esp, 0xc
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ebp, ebp
je 0x100e7c33
mov dword [esi + 0x10], ebp
mov eax, dword [ebp + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ebp + 0x18]
inc ecx
jmp 0x100e7c38
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x100e7c5a
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x100e7c5a
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x100e7c75
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.10114f40
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
and eax, 3
je 0x100e7cad
or dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x100e7cad
test ebx, ebx
je 0x100e7c9e
push ebx
push dword [edi]
call fcn.10118890
add esp, 8
test ebp, ebp
je 0x100e7cad
push ebp
push dword [edi]
call fcn.10118890
add esp, 8
mov ebx, dword [esp + 0x70]
push 0x8001
push esi
push ebx
call fcn.1015c340
push eax
push ebx
push dword [esp + 0x80]
call fcn.100e6de0
mov ebp, dword [esp + 0x68]
add esp, 0x18
mov edx, dword [esp + 0x48]
inc ebp
mov esi, dword [esp + 0x20]
mov dword [esp + 0x50], ebp
cmp ebp, edx
jl 0x100e7bc4
mov edx, dword [esp + 0x14]
mov ebp, ebx
mov ecx, 0x2000
mov eax, dword [ebp + 0x18]
or word [eax + edx + 0xa], 6
mov word [eax + edx + 0xc], cx
jmp 0x100e815f
cmp cl, 0x31
jne 0x100e7de3
cmp dword [ebx + 0x1c], 0
jne 0x100e7de3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0xb1
jne 0x100e7de3
mov eax, dword [esp + 0x18]
test dword [eax], 0x1000
je 0x100e7de3
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x34], 0
jne 0x100e7de3
cmp dword [eax + 0x44], 0
jne 0x100e7de3
cmp byte [ebp + 8], 0x2c
jne 0x100e815b
xor edi, edi
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0xb0
jne 0x100e7d63
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x100e7d6e
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x100e7d81
cmp al, 0x8a
jne 0x100e7d7c
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x100e7d81
mov eax, 1
cmp edi, eax
jge 0x100e815b
push 0x8002
push esi
push ebp
call fcn.1015c340
mov ecx, dword [ebp + 0x18]
inc edi
push eax
push ebp
push dword [esp + 0x80]
lea esi, [eax + eax*2]
add esi, esi
mov dword [ecx + esi*8 + 0x1c], edi
call fcn.100e6de0
mov eax, dword [ebp + 0x18]
add esp, 0x18
mov ecx, dword [esp + 0x74]
mov dword [eax + esi*8 + 0x10], ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x14]
mov ax, word [ecx + eax + 8]
mov word [ecx + esi*8 + 8], ax
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc byte [ecx + eax + 0xe]
jmp 0x100e7d57
cmp byte [ebp + 8], 0x2c
jne 0x100e815b
cmp cl, 0xac
jne 0x100e7ecf
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x100e815b
cmp dword [ebx], 2
jne 0x100e815b
mov ebp, dword [ebx + 0x1c]
cmp byte [ebp], 0xa7
jne 0x100e7e52
mov eax, dword [ebp + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x100e7e52
mov eax, dword [esp + 0x20]
xor esi, esi
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
nop dword [eax]
push dword [esi*8 + 0x1018f51c]
push eax
call fcn.101353f0
add esp, 8
test eax, eax
je 0x100e7eba
mov eax, dword [esp + 0x58]
inc esi
cmp esi, 4
jl 0x100e7e30
mov esi, dword [esp + 0x20]
mov ebp, dword [ebx + 8]
cmp byte [ebp], 0xa7
jne 0x100e8157
mov eax, dword [ebp + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x100e8157
push eax
push dword [esp + 0x28]
call fcn.101209a0
add esp, 8
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x100e8157
lea edx, [esp + 0x40]
push edx
lea edx, [esp + 0x38]
push edx
push dword [esi + 8]
push 2
push ecx
call eax
add esp, 0x14
mov dword [esp + 0x44], eax
cmp eax, 0x96
jl 0x100e8157
mov ebx, dword [ebx + 0x1c]
mov edx, 1
jmp 0x100e7f48
mov al, byte [esi*8 + 0x1018f520]
mov edx, 1
mov ebx, dword [ebx + 8]
mov dword [esp + 0x44], eax
jmp 0x100e7f48
cmp cl, 0x34
je 0x100e7ee2
cmp cl, 0xab
je 0x100e7ee2
cmp cl, 0x33
jne 0x100e815b
mov ebp, dword [esi + 0xc]
xor edx, edx
mov ebx, dword [esi + 0x10]
cmp byte [ebp], 0xa7
jne 0x100e7eff
mov eax, dword [ebp + 0x2c]
mov esi, 1
cmp byte [eax + 0x2b], 1
cmove edx, esi
test ebx, ebx
je 0x100e7f18
cmp byte [ebx], 0xa7
jne 0x100e7f18
mov eax, dword [ebx + 0x2c]
cmp byte [eax + 0x2b], 1
jne 0x100e7f18
mov eax, ebp
inc edx
mov ebp, ebx
mov ebx, eax
cmp cl, 0x34
setne al
dec al
and al, 0x44
cmp cl, 0xab
jne 0x100e7f2e
mov byte [esp + 0x44], 0x45
jmp 0x100e7f40
cmp cl, 0x33
movzx eax, al
mov esi, 0x46
cmove eax, esi
mov byte [esp + 0x44], al
test edx, edx
je 0x100e8157
dec edx
mov dword [esp + 0x58], edx
test ebx, ebx
je 0x100e7f91
cmp byte [ebx], 0xa7
jne 0x100e7f73
test byte [ebx + 4], 0x20
jne 0x100e7f73
push dword [ebx + 0x1c]
push dword [esp + 0x20]
call fcn.1014e050
add esp, 8
mov dword [esp + 0x38], edx
mov esi, eax
jmp 0x100e7fa6
test dword [ebx + 4], 0x810000
jne 0x100e7f91
push ebx
push dword [esp + 0x20]
call fcn.1014de50
add esp, 8
mov dword [esp + 0x38], edx
mov esi, eax
jmp 0x100e7fa6
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], esi
test ebp, ebp
je 0x100e7fe3
cmp byte [ebp], 0xa7
jne 0x100e7fcb
test byte [ebp + 4], 0x20
jne 0x100e7fcb
push dword [ebp + 0x1c]
push dword [esp + 0x20]
call fcn.1014e050
add esp, 8
jmp 0x100e7ff4
test dword [ebp + 4], 0x810000
jne 0x100e7fe3
push ebp
push dword [esp + 0x20]
call fcn.1014de50
add esp, 8
jmp 0x100e7ff4
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
and edx, dword [esp + 0x38]
and eax, esi
or eax, edx
jne 0x100e8145
test ebx, ebx
je 0x100e8017
push eax
push eax
push ebx
push dword [esp + 0x30]
call fcn.100e9210
add esp, 0x10
jmp 0x100e8019
xor eax, eax
push 0
push 0x34
push dword [edi]
mov dword [esp + 0x5c], eax
call fcn.10112e00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100e8089
push 0x34
push 0
push esi
call fcn.1016bd70
mov ecx, dword [esp + 0x5c]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x2e
mov word [esi + 0x22], ax
test ecx, ecx
je 0x100e8064
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x100e8069
mov ecx, 1
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x100e809c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.10114f40
add esp, 0xc
jmp 0x100e809c
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100e809c
push eax
push dword [edi]
call fcn.10118890
add esp, 8
mov eax, dword [esp + 0x18]
test byte [eax], 1
je 0x100e80b7
test esi, esi
je 0x100e80b7
mov eax, dword [esp + 0x20]
or dword [esi + 4], 1
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
push 3
push esi
push dword [esp + 0x78]
call fcn.1015c340
mov ecx, dword [esp + 0x7c]
add esp, 0xc
mov edi, dword [esp + 0x74]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x48]
mov esi, dword [ecx + 0x18]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x24], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ebp + 0x20]
mov dword [esi + 0x18], eax
mov eax, 0x40
mov word [esi + 0xc], ax
mov eax, dword [esp + 0x44]
mov byte [esi + 0xf], al
mov eax, dword [ecx + 0x18]
mov dword [edx + eax + 0x10], edi
mov ecx, dword [ecx + 0x18]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x54]
mov ax, word [ecx + eax + 8]
mov word [edx + ecx + 8], ax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + 0x18]
inc byte [edx + eax + 0xe]
mov ecx, dword [ecx + 0x18]
add ecx, edx
or word [ecx + 0xa], 8
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov edx, dword [esp + 0x58]
mov eax, ebp
mov ebp, ebx
mov ebx, eax
test edx, edx
jg 0x100e7f48
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x3c]
add eax, edx
or dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x4c]
or dword [eax + 0x24], ecx
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret