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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x100fc008]
xor eax, esp
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0xc]
test edx, edx
push ebx
push esi
setne al
mov dword [esp + 0x38], edx
mov esi, ecx
mov ecx, dword [ebp + 8]
push edi
mov dword [esp + 0x48], ecx
mov dl, byte [ecx + eax + 0x19]
add eax, 7
mov ebx, dword [esi]
lea eax, [ecx + eax*4]
mov edi, dword [eax]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x13], dl
mov dword [esp + 0x68], eax
test dl, dl
je 0x100513aa
test edi, edi
jne 0x100513aa
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], edi
mov edi, ecx
push eax
push edi
mov ecx, esi
call fcn.1004e8f0
add esp, 0xc
test eax, eax
jne 0x10051345
xor ecx, ecx
mov dword [esp + 0x64], ecx
cmp dword [edi + 0x14], ecx
jle 0x10050ffe
mov dword [esp + 0x6c], 0x100ef688
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], 0x100ef684
mov dword [esp + 0x78], 3
nop word [eax + eax]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1005083d
mov edx, dword [eax + ecx*4]
jmp 0x10050840
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1005085e
mov eax, dword [eax + 4]
movsx eax, word [eax + ecx*2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*8]
jmp 0x10050863
mov ecx, 0x100f0ee4
mov eax, dword [edi]
lea edx, [edx + edx*2]
shl edx, 3
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 4]
mov edx, dword [edx + eax]
mov eax, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x7c], edx
test eax, eax
je 0x1005089d
cmp byte [ecx], 0
je 0x10050896
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x10050890
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x58], eax
mov eax, edx
test eax, eax
je 0x100508bd
cmp byte [edx], 0
je 0x100508b6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x100508b0
sub eax, edx
and eax, 0x3fffffff
mov ecx, dword [esi]
mov edx, 0x1b
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x7c]
push 1
push eax
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x100508fe
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x1005091e
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x1005091e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x10050954
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050974
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050974
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100509a6
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x100509c6
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x100509c6
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x7a
push 1
push 0
call fcn.10035e30
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x100509fd
mov edx, ebx
mov ecx, eax
call fcn.10036770
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
call fcn.10036770
jmp 0x10050a45
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10050a13
mov dword [edi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [edi + 4], eax
test ebx, ebx
je 0x10050a25
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [edi + 4], eax
mov ecx, edi
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x10050a45
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x4f
push 1
push 0
call fcn.10035e30
mov ebx, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x10050a7c
mov edx, edi
mov ecx, eax
call fcn.10036770
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
call fcn.10036770
jmp 0x10050ac4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10050a92
mov dword [ebx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
test edi, edi
je 0x10050aa4
mov dword [ebx + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x100
or dword [ebx + 4], eax
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050ac4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov edx, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.10036230
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x10050dd1
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10050b19
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050b39
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050b39
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10050b71
xor edx, edx
mov ecx, eax
call fcn.10036770
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.10036770
jmp 0x10050b91
mov ecx, edi
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x10050b91
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x7a
push 1
push 0
call fcn.10035e30
mov ecx, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], eax
test ecx, ecx
jne 0x10050bca
mov edx, edi
mov ecx, eax
call fcn.10036770
mov ecx, dword [esp + 0x14]
mov edx, ebx
call fcn.10036770
jmp 0x10050c10
test ebx, ebx
je 0x10050bdc
mov dword [ecx + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [ecx + 4], eax
test edi, edi
je 0x10050bee
mov dword [ecx + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x100
or dword [ecx + 4], eax
call fcn.10035d30
mov eax, dword [esi]
mov ecx, dword [eax + 0x64]
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x18], ecx
jle 0x10050c10
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10050c46
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050c66
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050c66
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10050c98
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050cb8
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050cb8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x7a
push 1
push 0
call fcn.10035e30
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10050cef
mov edx, ebx
mov ecx, eax
call fcn.10036770
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
call fcn.10036770
jmp 0x10050d37
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10050d05
mov dword [edi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [edi + 4], eax
test ebx, ebx
je 0x10050d17
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [edi + 4], eax
mov ecx, edi
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x10050d37
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x49
push 1
push 0
call fcn.10035e30
mov ebx, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x10050d6e
mov edx, edi
mov ecx, eax
call fcn.10036770
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
call fcn.10036770
jmp 0x10050db6
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10050d84
mov dword [ebx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
test edi, edi
je 0x10050d96
mov dword [ebx + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x100
or dword [ebx + 4], eax
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050db6
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov edx, dword [esp + 0x28]
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.10036230
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x13]
cmp al, 6
je 0x10050fe4
cmp al, 9
jne 0x10050f4a
test ecx, ecx
je 0x10050fe4
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10050e23
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050e43
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050e43
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1b
call fcn.10035e30
mov edi, dword [esi]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10050e75
xor edx, edx
mov ecx, edi
call fcn.10036770
xor edx, edx
mov ecx, edi
call fcn.10036770
jmp 0x10050e95
mov ecx, ebx
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x10050e95
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov ecx, dword [esi]
mov edx, 0x7a
push 1
push 0
call fcn.10035e30
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10050ecc
mov edx, ebx
mov ecx, eax
call fcn.10036770
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
call fcn.10036770
jmp 0x10050f14
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10050ee2
mov dword [edi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [edi + 4], eax
test ebx, ebx
je 0x10050ef4
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [edi + 4], eax
mov ecx, edi
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x10050f14
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov edx, dword [esp + 0x44]
mov ecx, esi
push edi
call fcn.100373d0
mov edx, eax
add esp, 4
mov dword [esp + 0x44], edx
test edx, edx
je 0x10050fe4
cmp dword [esp + 0x60], 0
mov eax, dword [edx]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
lea ebx, [eax + ecx*8]
jne 0x10050fab
xor edi, edi
jmp 0x10050fe1
cmp al, 8
jne 0x10050f75
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x10050f75
push 0
push 0
mov ecx, ebx
call fcn.10036930
add esp, 8
mov edi, eax
jmp 0x10050f14
mov ecx, dword [esi]
mov edx, 0x65
push 1
push 0
call fcn.10035e30
mov ebx, dword [esi]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10050ef4
xor edx, edx
mov ecx, ebx
call fcn.10036770
xor edx, edx
mov ecx, ebx
call fcn.10036770
jmp 0x10050f14
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esi]
add edx, 1
adc eax, eax
push eax
push edx
call fcn.10005020
mov edi, eax
add esp, 8
test edi, edi
je 0x10050fe1
push dword [esp + 0x1c]
push dword [esp + 0x64]
push edi
call fcn.100bda90
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [edi + eax], 0
mov dword [ebx - 0x14], edi
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x48]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [edi + 0x14]
jl 0x10050830
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x1005104d
test ebx, ebx
je 0x10051044
cmp dword [ebx + 0x208], 0
je 0x1005101e
mov edx, ecx
mov ecx, ebx
call fcn.10004d70
jmp 0x1005104d
cmp ecx, dword [ebx + 0x114]
jb 0x10051044
cmp ecx, dword [ebx + 0x118]
jae 0x10051044
mov eax, dword [ebx + 0x110]
mov dword [ecx], eax
dec dword [ebx + 0xfc]
mov dword [ebx + 0x110], ecx
jmp 0x1005104d
push ecx
call fcn.10004cd0
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x40], eax
test eax, eax
je 0x1005106e
cmp byte [eax], 0
je 0x10051066
inc ebx
cmp byte [ebx], 0
jne 0x10051060
sub ebx, eax
and ebx, 0x3fffffff
cmp byte [esp + 0x13], 6
jne 0x100511be
mov dword [esp + 0x7c], eax
mov edi, str.FOREIGN_KEY_constraint_failed
mov dword [esp + 0x80], ebx
nop dword [eax]
inc edi
cmp byte [edi], 0
jne 0x10051090
mov ecx, dword [esp + 0x18]
sub edi, str.FOREIGN_KEY_constraint_failed
and edi, 0x3fffffff
push 0
lea eax, [edi + 0x31]
push eax
call fcn.10005020
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10051108
lea ecx, [edi + 0x31]
push ecx
push 0
push eax
call fcn.100bd8d0
mov eax, dword [esp + 0x28]
or ecx, 0xffffffff
add esp, 0xc
mov word [eax + 0x22], cx
lea ecx, [eax + 0x30]
mov byte [eax], 0x39
mov dword [eax + 8], ecx
test edi, edi
je 0x100510f9
push edi
push str.FOREIGN_KEY_constraint_failed
push ecx
call fcn.100bda90
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [eax + 8]
mov byte [ecx + edi], 0
mov dword [eax + 0x18], 1
mov byte [eax + 1], 2
mov eax, dword [esi]
mov ecx, eax
push 0
push 8
mov dword [esp + 0x38], eax
call fcn.10005020
mov edi, eax
add esp, 8
test edi, edi
je 0x10051162
mov ecx, dword [esp + 0x30]
xorps xmm0, xmm0
push 0
push 0x18
movq qword [edi], xmm0
call fcn.10005020
mov edx, eax
add esp, 8
mov dword [edi + 4], edx
test edx, edx
je 0x10051162
mov ecx, dword [edi]
xorps xmm0, xmm0
lea eax, [ecx + ecx*2]
lea edx, [edx + eax*8]
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
movups xmmword [edx], xmm0
movq qword [edx + 0x10], xmm0
mov dword [edx], eax
jmp 0x1005117c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
call fcn.10036770
mov ecx, dword [esp + 0x30]
mov edx, edi
call fcn.10037480
xor edi, edi
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x4c]
lea eax, [esp + 0x98]
xor edx, edx
push ecx
mov ecx, dword [esp + 0x38]
push 0
push eax
call fcn.10047560
add esp, 0xc
mov edx, edi
mov ecx, esi
push eax
call fcn.1005e880
add esp, 0x20
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x18]
push 0
mov al, byte [ecx + 0xfa]
mov byte [esp + 0x2b], al
lea eax, [ebx + 0x4d]
push eax
mov byte [ecx + 0xfa], 0
call fcn.10005020
mov edi, eax
add esp, 8
test edi, edi
je 0x100512fc
lea eax, [ebx + 0x4d]
push eax
push 0
push edi
call fcn.100bd8d0
add esp, 0xc
test edi, edi
je 0x100512fc
lea ecx, [edi + 0x24]
lea eax, [ecx + 0x28]
mov dword [ecx + 0x10], ebx
push ebx
push dword [esp + 0x44]
mov dword [esp + 0x34], ecx
push eax
mov dword [edi + 0x1c], ecx
mov dword [ecx + 0xc], eax
call fcn.100bda90
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x34]
mov ecx, ebx
push 0
push 1
call fcn.10036930
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
push 1
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.10036be0
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
mov ecx, ebx
push 1
call fcn.10037160
mov ecx, dword [esp + 0x30]
add esp, 4
cmp dword [esp + 0x28], 0
mov dword [ecx + 8], eax
je 0x10051300
mov ecx, dword [esi]
mov edx, 0x13
push 1
push 0
call fcn.10035e30
mov ebx, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x40], eax
test ebx, ebx
jne 0x100512ad
mov edx, dword [esp + 0x28]
mov ecx, eax
call fcn.10036770
mov ecx, dword [esp + 0x40]
xor edx, edx
call fcn.10036770
jmp 0x100512df
mov eax, dword [esp + 0x28]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
call fcn.10035d30
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x100512df
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.10007a10
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
mov ecx, ebx
push 0
push 1
call fcn.10036930
add esp, 8
mov dword [edi + 0xc], eax
jmp 0x10051300
mov ebx, dword [esp + 0x18]
mov al, byte [esp + 0x27]
mov ecx, ebx
mov edx, dword [esp + 0x34]
mov byte [ebx + 0xfa], al
call fcn.10036770
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.10036770
mov edx, dword [esp + 0x44]
mov ecx, ebx
call fcn.10037480
mov edx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.1005eb00
cmp byte [ebx + 0x40], 1
jne 0x10051359
mov edx, edi
mov ecx, ebx
call fcn.1004fbc0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.100baa39
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0x3c]
cmp al, 6
je 0x1005137f
cmp al, 9
jne 0x10051376
test edx, edx
jne 0x10051376
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x6d
jmp 0x10051386
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x6e
jmp 0x10051386
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x77
mov dword [ecx + 4], edi
test edx, edx
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 0x44]
mov dword [edi + 0x14], eax
mov ecx, dword [ecx + 0x44]
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], ecx
setne cl
add cl, 0x6d
mov dword [eax], edi
mov byte [edi + 8], cl
mov ecx, dword [esp + 0x84]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100baa39
mov esp, ebp
pop ebp
ret