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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, dword [esp + 0x74]
push edi
mov edi, eax
mov eax, dword [edi]
mov dword [esp + 0x20], eax
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x7c], ebx
setne al
movzx ecx, byte [eax + esi + 0x19]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + eax*4 + 0x1c]
mov dword [esp + 0x34], ecx
cmp ecx, ebx
je 0x582d73
cmp eax, ebx
jne 0x582d73
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x3c]
push edx
push esi
push eax
push edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x28], ebx
call fcn.00578d20
add esp, 0x14
test eax, eax
jne 0x582d16
cmp dword [esi + 0x14], ebx
mov dword [esp + 0x1c], ebx
jle 0x582a6d
mov eax, 3
mov dword [esp + 0x58], 0x65fe8c
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x65fe88
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5821f7
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
jmp 0x5821fe
mov edx, dword [esp + 0x78]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x582220
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
movsx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*8]
jmp 0x582225
mov ecx, 0x65fe84
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x78]
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 + 0x68], edx
mov eax, ecx
test ecx, ecx
je 0x58225e
cmp byte [ecx], 0
je 0x582257
inc eax
cmp byte [eax], 0
jne 0x582251
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x54], eax
mov eax, edx
test edx, edx
je 0x58227d
cmp byte [edx], 0
je 0x582276
lea ecx, [ecx]
inc eax
cmp byte [eax], 0
jne 0x582270
sub eax, edx
and eax, 0x3fffffff
mov ecx, dword [edi]
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], eax
push 1
lea eax, [esp + 0x6c]
push eax
push 0x1b
push ecx
call fcn.00576310
mov ebx, dword [edi]
mov esi, eax
add esp, 0x10
mov dword [esp + 0x40], esi
test esi, esi
jne 0x5822b8
push eax
push ebx
call fcn.0056e560
push esi
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x5822d5
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x5822d5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [edi]
push 1
lea eax, [esp + 0x54]
push eax
push 0x1b
push ecx
call fcn.00576310
mov ebx, dword [edi]
mov esi, eax
add esp, 0x10
mov dword [esp + 0x3c], esi
test esi, esi
jne 0x582308
push eax
push ebx
call fcn.0056e560
push esi
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x582325
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x582325
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [edi]
push 1
lea eax, [esp + 0x5c]
push eax
push 0x1b
push ecx
call fcn.00576310
mov esi, dword [edi]
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x582354
push eax
push esi
call fcn.0056e560
push ebp
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x582373
mov esi, ebp
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebp + 0x18], eax
jle 0x582373
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov ebx, eax
test ebx, ebx
je 0x5823a3
push 0x30
push 0
push ebx
call fcn.005dfd60
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x77
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x5823c0
push ebp
push esi
call fcn.0056e560
mov ecx, dword [esp + 0x44]
push ecx
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x582408
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5823d7
mov dword [ebx + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [ebx + 4], edx
test ebp, ebp
je 0x5823e9
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
and eax, 0x100
or dword [ebx + 4], eax
mov esi, ebx
call fcn.00564440
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x582408
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x582438
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or edx, 0xffffffff
mov byte [esi], 0x4d
mov word [esi + 0x22], dx
mov dword [esi + 0x18], 1
mov ebp, dword [edi]
test esi, esi
jne 0x582455
push ebx
push ebp
call fcn.0056e560
mov eax, dword [esp + 0x48]
push eax
push ebp
call fcn.0056e560
add esp, 0x10
jmp 0x58249c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x58246c
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x58247f
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x58249c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, esi
call fcn.005764b0
cmp dword [esp + 0x7c], 0
mov dword [esp + 0x18], eax
je 0x5827d4
mov edx, dword [edi]
push 1
lea ecx, [esp + 0x54]
push ecx
push 0x1b
push edx
call fcn.00576310
mov ebx, dword [edi]
mov esi, eax
add esp, 0x10
mov dword [esp + 0x40], esi
test esi, esi
jne 0x5824ed
push eax
push ebx
call fcn.0056e560
push esi
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x58250a
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x58250a
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov edx, dword [edi]
push 1
lea ecx, [esp + 0x64]
push ecx
push 0x1b
push edx
call fcn.00576310
mov esi, dword [edi]
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x582539
push eax
push esi
call fcn.0056e560
push ebx
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x582558
mov esi, ebx
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x582558
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov ebp, eax
test ebp, ebp
je 0x582589
push 0x30
push 0
push ebp
call fcn.005dfd60
add esp, 0xc
or ecx, 0xffffffff
mov byte [ebp], 0x77
mov word [ebp + 0x22], cx
mov dword [ebp + 0x18], 1
mov esi, dword [edi]
test ebp, ebp
jne 0x5825a6
push ebx
push esi
call fcn.0056e560
mov edx, dword [esp + 0x48]
push edx
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x5825ee
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5825bc
mov dword [ebp + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebp + 4], eax
test ebx, ebx
je 0x5825cf
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebx + 4]
and ecx, 0x100
or dword [ebp + 4], ecx
mov esi, ebp
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebp + 0x18], eax
jle 0x5825ee
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [edi]
push 1
lea eax, [esp + 0x54]
push eax
push 0x1b
push ecx
call fcn.00576310
mov ebx, dword [edi]
mov esi, eax
add esp, 0x10
mov dword [esp + 0x40], esi
test esi, esi
jne 0x582621
push eax
push ebx
call fcn.0056e560
push esi
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x58263e
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x58263e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [edi]
push 1
lea eax, [esp + 0x5c]
push eax
push 0x1b
push ecx
call fcn.00576310
mov ebx, dword [edi]
mov esi, eax
add esp, 0x10
mov dword [esp + 0x3c], esi
test esi, esi
jne 0x582671
push eax
push ebx
call fcn.0056e560
push esi
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x58268e
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x58268e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov ebx, eax
test ebx, ebx
je 0x5826be
push 0x30
push 0
push ebx
call fcn.005dfd60
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x77
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x5826df
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.0056e560
mov edx, dword [esp + 0x48]
push edx
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x58272b
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5826f5
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 0x58270c
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
mov esi, ebx
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x58272b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x58275b
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x47
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x40], ecx
test esi, esi
jne 0x58277e
mov edx, ecx
push ebx
push edx
call fcn.0056e560
mov eax, dword [esp + 0x48]
push ebp
push eax
call fcn.0056e560
add esp, 0x10
jmp 0x5827c1
test ebp, ebp
je 0x582791
mov dword [esi + 0x10], ebp
mov ecx, dword [ebp + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x5827a4
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x5827c1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, esi
call fcn.005764b0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
cmp eax, 6
je 0x582a57
cmp eax, 9
jne 0x582968
cmp dword [esp + 0x7c], 0
je 0x582a57
mov edx, dword [edi]
push 1
lea ecx, [esp + 0x54]
push ecx
push 0x1b
push edx
call fcn.00576310
mov esi, dword [edi]
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x582824
push eax
push esi
call fcn.0056e560
push ebp
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x582843
mov esi, ebp
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebp + 0x18], eax
jle 0x582843
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov edx, dword [edi]
push 1
lea ecx, [esp + 0x64]
push ecx
push 0x1b
push edx
call fcn.00576310
mov esi, dword [edi]
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x582872
push eax
push esi
call fcn.0056e560
push ebx
push esi
call fcn.0056e560
add esp, 0x10
jmp 0x582891
mov esi, ebx
call fcn.00564440
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x582891
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x5828c1
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x77
mov word [esi + 0x22], cx
mov dword [esi + 0x18], 1
mov edx, dword [edi]
mov dword [esp + 0x40], edx
test esi, esi
jne 0x5828e4
mov eax, edx
push ebx
push eax
call fcn.0056e560
mov ecx, dword [esp + 0x48]
push ebp
push ecx
call fcn.0056e560
add esp, 0x10
jmp 0x582926
test ebp, ebp
je 0x5828f7
mov dword [esi + 0x10], ebp
mov edx, dword [ebp + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x582909
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
call fcn.00564440
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x582926
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
mov ecx, dword [esp + 0x24]
push esi
mov eax, edi
call fcn.00576ba0
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x582a57
mov eax, dword [ecx]
mov ebp, dword [esp + 0x68]
mov esi, dword [edi]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 8]
lea ecx, [eax + edx*8 - 0x18]
mov dword [esp + 0x48], ecx
test ebp, ebp
jne 0x582a2f
xor esi, esi
jmp 0x582a50
cmp eax, 8
jne 0x5829dd
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx + edx + 4]
test eax, eax
je 0x582998
push 0
push 0
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.0057f9c0
add esp, 0x10
mov esi, eax
jmp 0x582926
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x5829c8
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x63
mov word [esi + 0x22], cx
mov dword [esi + 0x18], 1
mov ebx, dword [edi]
test esi, esi
je 0x582a17
call fcn.00564440
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
jmp 0x582913
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x582a0d
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x63
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ebx, dword [edi]
test esi, esi
jne 0x582909
push 0
push ebx
call fcn.0056e560
push 0
push ebx
call fcn.0056e560
add esp, 0x10
jmp 0x582926
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + 1]
call fcn.00569810
mov esi, eax
test esi, esi
je 0x582a50
push ebx
push ebp
push esi
call fcn.005e13c0
add esp, 0xc
mov byte [esi + ebx], 0
mov edx, dword [esp + 0x48]
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x1c], eax
jl 0x5821e6
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, ebp
call fcn.0055d830
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov eax, ecx
test ecx, ecx
je 0x582aa0
cmp byte [ecx], 0
je 0x582a99
inc eax
cmp byte [eax], 0
jne 0x582a93
sub eax, ecx
and eax, 0x3fffffff
cmp dword [esp + 0x34], 6
mov dword [esp + 0x20], eax
jne 0x582b80
mov dword [esp + 0x68], ecx
push 0x39
push ebp
mov ecx, str.FOREIGN_KEY_constraint_failed
mov dword [esp + 0x74], eax
call fcn.00576420
mov ebx, eax
add esp, 8
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x582ad5
mov byte [ebx + 1], 2
mov ecx, 0x50
mov esi, ebp
call fcn.00569810
mov esi, eax
test esi, esi
je 0x582b1d
push 0x50
push 0
push esi
call fcn.005dfd60
mov byte [esi + 1], 1
movzx ecx, byte [esi]
add esp, 0xc
push ecx
push 1
mov eax, esi
mov ecx, ebp
call fcn.0056fbf0
add esp, 8
cmp byte [ebp + 0x40], 0
mov esi, eax
je 0x582b21
push esi
mov eax, ebp
call fcn.00565760
add esp, 4
xor esi, esi
jmp 0x582b4a
movzx eax, byte [esi]
lea edx, [eax + eax*8]
push ebp
lea eax, [esp + 0x6c]
lea ebx, [esi + edx*8 - 0x40]
call fcn.0056f820
mov dword [ebx + 8], eax
push ebp
xor eax, eax
call fcn.0056f820
mov dword [ebx + 4], eax
mov ebx, dword [esp + 0x50]
add esp, 8
mov eax, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push ebx
xor ecx, ecx
mov eax, edi
call fcn.00576ba0
add esp, 4
push eax
push edi
mov eax, esi
call fcn.00579550
add esp, 0x24
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
mov cl, byte [ebp + 0xf2]
mov byte [esp + 0x13], cl
mov ecx, dword [esp + 0x20]
add ecx, 0x4d
mov esi, ebp
mov byte [ebp + 0xf2], 0
call fcn.00569810
mov ebx, eax
test ebx, ebx
je 0x582bb8
mov eax, dword [esp + 0x20]
add eax, 0x4d
push eax
push 0
push ebx
call fcn.005dfd60
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x582cbc
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
lea eax, [ebx + 0x24]
mov esi, eax
mov dword [ebx + 0x1c], eax
push ecx
lea eax, [esi + 0x28]
push edx
push eax
mov dword [esp + 0x38], esi
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
call fcn.005e13c0
mov eax, dword [esp + 0x24]
push 0
push 1
push eax
push ebp
call fcn.0057f9c0
mov ecx, dword [esp + 0x40]
push 1
push ecx
push ebp
mov dword [esi + 0x14], eax
call fcn.0056e600
mov edx, dword [esp + 0x58]
push 1
push edx
push ebp
mov dword [esi + 0x18], eax
call fcn.00576aa0
add esp, 0x34
cmp dword [esp + 0x14], 0
mov dword [esi + 8], eax
je 0x582cc0
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00569810
mov esi, eax
test esi, esi
je 0x582c59
push 0x30
push 0
push esi
call fcn.005dfd60
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x13
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
test esi, esi
jne 0x582c78
mov edx, dword [esp + 0x14]
push edx
mov edi, ecx
push edi
call fcn.0056e560
push esi
push edi
call fcn.0056e560
add esp, 0x10
jmp 0x582ca7
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [esi + 4], eax
call fcn.00564440
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x582ca7
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00573960
add esp, 8
push 0
push 1
push esi
push ebp
mov dword [esp + 0x24], esi
call fcn.0057f9c0
add esp, 0x10
mov dword [ebx + 0xc], eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x13]
push eax
push ebp
mov byte [ebp + 0xf2], dl
call fcn.0056e560
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
call fcn.0056e560
mov edx, dword [esp + 0x34]
push edx
push ebp
call fcn.0056e900
mov edi, dword [esp + 0x48]
add esp, 0x18
test edi, edi
je 0x582d09
push edi
push ebp
call fcn.00566420
add esp, 8
mov eax, edi
mov ecx, ebp
call fcn.0055d830
cmp byte [ebp + 0x40], 1
jne 0x582d20
mov edi, ebp
call fcn.005700d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x34]
cmp eax, 6
je 0x582d3f
cmp eax, 9
jne 0x582d3a
cmp dword [esp + 0x7c], 0
jne 0x582d3a
mov byte [esi], 0x6b
jmp 0x582d42
mov byte [esi], 0x6c
jmp 0x582d42
mov byte [esi], 0x75
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x7c], 0
mov dword [esi + 4], ebx
mov ecx, dword [eax + 0x44]
mov dword [ebx + 0x14], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x18], edx
setne dl
mov dword [ecx + eax*4 + 0x1c], ebx
mov eax, dword [esp + 0x40]
add dl, 0x6b
mov byte [ebx + 8], dl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret