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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
setne al
movzx ecx, byte [eax + esi + 0x19]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + eax*4 + 0x1c]
mov dword [esp + 0x2c], ecx
cmp ecx, ebx
je 0x539e271
cmp eax, ebx
jne 0x539e271
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x38]
push ecx
push esi
push edx
push edi
lea eax, [esp + 0x40]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
call fcn.0538afc0
add esp, 0x10
test eax, eax
jne 0x539e219
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x14], ebx
jle 0x539de39
mov eax, 3
mov dword [esp + 0x60], 0x53ff2c8
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0x53ff2c4
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x539d578
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + ecx*4]
jmp 0x539d57e
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x539d59f
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + ecx*2]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*8]
jmp 0x539d5a4
mov ecx, 0x5400868
lea eax, [edx + edx*2]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov edx, dword [edx + 4]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [eax + edx]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], edx
mov eax, ecx
test ecx, ecx
je 0x539d5dd
cmp byte [ecx], 0
je 0x539d5d6
nop
inc eax
cmp byte [eax], 0
jne 0x539d5d0
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x54], eax
mov eax, edx
test edx, edx
je 0x539d5fd
cmp byte [edx], 0
je 0x539d5f6
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x539d5f0
sub eax, edx
and eax, 0x3fffffff
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x64]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x539d637
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d655
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d655
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x539d687
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d6a5
call fcn.0537d420
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d6a5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x6c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x539d6d7
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d6f5
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d6f5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov ebx, eax
test ebx, ebx
je 0x539d725
push 0x30
push 0
push ebx
call fcn.05351b20
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x7a
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x539d746
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.05384950
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d791
mov eax, dword [esp + 0x20]
test eax, eax
je 0x539d75c
mov dword [ebx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x539d773
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d791
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov esi, eax
test esi, esi
je 0x539d7c1
push 0x30
push 0
push esi
call fcn.05351b20
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x4f
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
test esi, esi
jne 0x539d7e8
mov edx, ecx
push ebx
push edx
call fcn.05384950
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.05384950
add esp, 0x10
jmp 0x539d831
mov eax, dword [esp + 0x40]
test eax, eax
je 0x539d7ff
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x539d811
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x539d831
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push esi
push edx
call fcn.05387420
add esp, 8
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x1c], eax
je 0x539db7f
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x5c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x539d883
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d8a1
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d8a1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x74]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x539d8cf
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d8ed
call fcn.0537d420
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d8ed
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je 0x539d921
push 0x30
push 0
push esi
call fcn.05351b20
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x7a
mov word [esi + 0x22], cx
mov dword [esi + 0x18], 1
mov edx, dword [edi]
test esi, esi
jne 0x539d940
mov esi, edx
push ebx
push esi
call fcn.05384950
mov eax, dword [esp + 0x48]
push eax
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d98c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x539d957
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x539d96a
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
mov ebx, dword [esp + 0x20]
call fcn.0537d420
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d98c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x5c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x539d9be
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539d9dc
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539d9dc
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x6c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x539da0e
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539da2c
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539da2c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov ebx, eax
test ebx, ebx
je 0x539da5c
push 0x30
push 0
push ebx
call fcn.05351b20
add esp, 0xc
or edx, 0xffffffff
mov byte [ebx], 0x7a
mov word [ebx + 0x22], dx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x539da7d
mov eax, dword [esp + 0x3c]
push eax
push esi
call fcn.05384950
mov ecx, dword [esp + 0x48]
push ecx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539dac8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x539da94
mov dword [ebx + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [ebx + 4], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x539daaa
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539dac8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov esi, eax
test esi, esi
je 0x539daf8
push 0x30
push 0
push esi
call fcn.05351b20
add esp, 0xc
or edx, 0xffffffff
mov byte [esi], 0x49
mov word [esi + 0x22], dx
mov dword [esi + 0x18], 1
mov eax, dword [edi]
mov dword [esp + 0x40], eax
test esi, esi
jne 0x539db1f
mov ecx, eax
push ebx
push ecx
call fcn.05384950
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.05384950
add esp, 0x10
jmp 0x539db69
mov eax, dword [esp + 0x20]
test eax, eax
je 0x539db36
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x539db49
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
mov ebx, esi
call fcn.0537d420
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x539db69
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push esi
push ecx
call fcn.05387420
add esp, 8
mov dword [esp + 0x18], eax
cmp dword [esp + 0x2c], 6
je 0x539de24
mov eax, dword [esp + 0x2c]
cmp eax, 9
jne 0x539dce9
cmp dword [ebp + 0x10], 0
je 0x539de24
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x539dbd3
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539dbf1
call fcn.0537d420
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539dbf1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x74]
call fcn.05381d70
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x539dc1f
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539dc3d
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539dc3d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov esi, eax
test esi, esi
je 0x539dc6d
push 0x30
push 0
push esi
call fcn.05351b20
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x7a
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x40], ecx
test esi, esi
jne 0x539dc99
mov edx, ecx
push ebx
push edx
call fcn.05384950
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
push eax
push ecx
call fcn.05384950
add esp, 0x10
mov eax, esi
jmp 0x539ddc6
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x539dcb0
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x539dcc2
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x539dce2
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov eax, esi
jmp 0x539ddc6
cmp eax, 8
jne 0x539dd5b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx + edx + 4]
test eax, eax
je 0x539dd19
push 0
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.053871d0
add esp, 0x10
jmp 0x539ddc6
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov ebx, eax
test ebx, ebx
je 0x539dd49
push 0x30
push 0
push ebx
call fcn.05351b20
add esp, 0xc
or ecx, 0xffffffff
mov byte [ebx], 0x65
mov word [ebx + 0x22], cx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
je 0x539dd91
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
jmp 0x539ddb0
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov ebx, eax
test ebx, ebx
je 0x539dd8b
push 0x30
push 0
push ebx
call fcn.05351b20
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x65
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x539dda6
push 0
push esi
call fcn.05384950
push 0
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539ddc4
call fcn.0537d420
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539ddc4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov eax, ebx
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov eax, edi
call fcn.0539adf0
mov dword [esp + 0x24], eax
test eax, eax
je 0x539de24
cmp dword [esp + 0x58], 0
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov esi, dword [edi]
lea edx, [ecx + ecx*2]
lea ecx, [eax + edx*8 - 0x18]
mov dword [esp + 0x48], ecx
jne 0x539ddf8
xor esi, esi
jmp 0x539de1d
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + 1]
call fcn.05381130
mov esi, eax
test esi, esi
je 0x539de1d
mov edx, dword [esp + 0x58]
push ebx
push edx
push esi
call fcn.05353940
add esp, 0xc
mov byte [esi + ebx], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x14]
jl 0x539d567
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
call fcn.0537c5b0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov eax, ecx
test ecx, ecx
je 0x539de6d
cmp byte [ecx], 0
je 0x539de66
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x539de60
sub eax, ecx
and eax, 0x3fffffff
cmp dword [esp + 0x2c], 6
mov dword [esp + 0x20], eax
jne 0x539e05d
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov eax, str.FOREIGN_KEY_constraint_failed
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x539de90
mov ebx, dword [esp + 0x10]
sub eax, str.FOREIGN_KEY_constraint_failed
and eax, 0x3fffffff
lea ecx, [eax + 0x31]
mov esi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x48], ecx
call fcn.05381130
mov dword [esp + 0x30], eax
test eax, eax
je 0x539df20
mov ecx, dword [esp + 0x48]
push ecx
mov esi, eax
push 0
push esi
call fcn.05351b20
mov eax, dword [esp + 0x78]
or edx, 0xffffffff
lea ecx, [eax + 1]
add esp, 0xc
mov byte [esi], 0x39
mov word [esi + 0x22], dx
test ecx, ecx
jne 0x539def1
or dword [esi + 4], 0x400
mov dword [esi + 8], ecx
jmp 0x539df15
lea ecx, [esi + 0x30]
mov dword [esi + 8], ecx
test eax, eax
je 0x539df0e
push eax
push str.FOREIGN_KEY_constraint_failed
push ecx
call fcn.05353940
mov eax, dword [esp + 0x78]
add esp, 0xc
mov ecx, dword [esi + 8]
mov byte [eax + ecx], 0
mov dword [esi + 0x18], 1
mov byte [esi + 1], 2
mov ecx, 0x58
mov esi, ebx
call fcn.05381130
mov esi, eax
test esi, esi
je 0x539df70
push 0x58
push 0
push esi
call fcn.05351b20
add esp, 0xc
mov dword [esi + 4], 1
mov edx, dword [esi]
push edx
push 1
push ebx
mov eax, esi
call fcn.0539aa70
add esp, 0xc
cmp byte [ebx + 0x40], 0
mov esi, eax
je 0x539df7a
push esi
mov eax, ebx
call fcn.0537f4e0
mov dword [esp + 0x2c], 0
jmp 0x539dfb0
mov dword [esp + 0x28], 0
jmp 0x539dfb3
mov eax, dword [esi]
lea eax, [eax + eax*4]
add eax, eax
lea ecx, [esi + eax*8 - 0x48]
push ebx
lea eax, [esp + 0x64]
mov dword [esp + 0x48], ecx
call fcn.053841e0
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edx + 8], eax
push ebx
xor eax, eax
call fcn.053841e0
mov ecx, dword [esp + 0x48]
mov dword [ecx + 4], eax
mov dword [esp + 0x2c], esi
add esp, 4
mov esi, dword [edi]
mov ecx, 0xc
call fcn.05381130
mov dword [esp + 0x14], eax
test eax, eax
je 0x539dfe8
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
lea ecx, [eax + 0x18]
call fcn.05381130
mov edx, dword [esp + 0x14]
mov dword [edx + 8], eax
test eax, eax
jne 0x539e005
mov eax, dword [esp + 0x30]
push eax
push esi
call fcn.05384950
mov ecx, dword [esp + 0x1c]
push ecx
push esi
call fcn.05387020
add esp, 0x10
xor edx, edx
jmp 0x539e02e
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov esi, dword [edx + 8]
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*8]
inc ecx
mov dword [edx], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push ecx
push edx
mov ecx, edi
call fcn.0539b9a0
add esp, 0x24
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], 0
jmp 0x539e061
mov ebx, dword [esp + 0x10]
mov dl, byte [ebx + 0xf2]
mov ecx, dword [esp + 0x20]
add ecx, 0x4d
mov esi, ebx
mov byte [esp + 0xf], dl
mov byte [ebx + 0xf2], 0
call fcn.05381130
mov dword [esp + 0x14], eax
test eax, eax
je 0x539e09f
mov eax, dword [esp + 0x20]
add eax, 0x4d
push eax
mov eax, dword [esp + 0x18]
push 0
push eax
call fcn.05351b20
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
test eax, eax
je 0x539e1b3
mov ecx, dword [esp + 0x20]
lea esi, [eax + 0x24]
mov dword [eax + 0x1c], esi
push ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x44]
lea eax, [esi + 0x28]
push ecx
push eax
mov dword [esp + 0x40], esi
mov dword [esi + 0xc], eax
call fcn.05353940
mov edx, dword [esp + 0x28]
add esp, 0xc
push 0
push 1
push edx
push ebx
call fcn.053871d0
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x34]
push 1
push eax
push ebx
call fcn.05384690
mov ecx, dword [esp + 0x44]
add esp, 0x1c
push 1
push ecx
push ebx
mov dword [esi + 0x18], eax
call fcn.05387090
add esp, 0xc
cmp dword [esp + 0x18], 0
mov dword [esi + 8], eax
je 0x539e1b7
mov esi, dword [edi]
mov ecx, 0x30
call fcn.05381130
mov ebx, eax
test ebx, ebx
je 0x539e148
push 0x30
push 0
push ebx
call fcn.05351b20
add esp, 0xc
or edx, 0xffffffff
mov byte [ebx], 0x13
mov word [ebx + 0x22], dx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
mov eax, dword [esp + 0x18]
test ebx, ebx
jne 0x539e165
push eax
push esi
call fcn.05384950
push ebx
push esi
call fcn.05384950
add esp, 0x10
jmp 0x539e192
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.0537d420
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x539e192
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.053888e0
add esp, 0xc
mov eax, dword [esp + 0x10]
push 0
push 1
push ebx
push eax
mov dword [esp + 0x28], ebx
call fcn.053871d0
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
add esp, 0x10
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov edi, dword [esp + 0x14]
push eax
push ebx
mov byte [ebx + 0xf2], dl
call fcn.05384950
mov ecx, dword [esp + 0x20]
push ecx
push ebx
call fcn.05384950
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.05387020
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
je 0x539e206
push eax
push ebx
call fcn.053818a0
mov eax, dword [esp + 0x30]
add esp, 8
mov ecx, ebx
call fcn.0537c5b0
cmp byte [ebx + 0x40], 1
jne 0x539e222
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
call fcn.0538af60
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x2c]
cmp eax, 6
je 0x539e240
cmp eax, 9
jne 0x539e23b
cmp dword [ebp + 0x10], 0
jne 0x539e23b
mov byte [esi], 0x6d
jmp 0x539e243
mov byte [esi], 0x6e
jmp 0x539e243
mov byte [esi], 0x77
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x10], 0
mov dword [esi + 4], edi
mov ecx, dword [eax + 0x44]
mov dword [edi + 0x14], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0x18], edx
setne dl
mov dword [eax + ecx*4 + 0x1c], edi
mov eax, dword [esp + 0x48]
add dl, 0x6d
mov byte [edi + 8], dl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret