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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x529748]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x4c], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x3c], ecx
push edi
mov eax, dword [esi]
mov dword [esp + 0x10], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x60], ebx
setne al
movzx ecx, byte [ebx + eax + 0x19]
add eax, 7
mov edi, dword [ebx + eax*4]
lea eax, [ebx + eax*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x45e8b0
test edi, edi
jne 0x45e8b0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x1c], edi
push eax
mov dword [esp + 0x28], edi
mov ecx, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edi
mov edi, edx
push ebx
call fcn.0045bdf0
add esp, 0xc
test eax, eax
jne 0x45e849
xor ecx, ecx
mov dword [esp + 0x64], ecx
cmp dword [ebx + 0x14], ecx
jle 0x45e49f
mov dword [esp + 0x74], 0x50ea90
mov dword [esp + 0x78], 3
mov dword [esp + 0x6c], 0x50ea8c
mov dword [esp + 0x70], 3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45df05
mov edx, dword [eax + ecx*4]
jmp 0x45df08
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x45df22
mov eax, dword [eax + 4]
movsx eax, word [eax + ecx*2]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ecx*8]
jmp 0x45df27
mov ecx, 0x5102ec
mov eax, dword [ebx]
lea edx, [edx + edx*2]
shl edx, 3
mov dword [esp + 0x14], edx
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 4]
mov edx, dword [edx + eax]
mov eax, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x7c], edx
test ecx, ecx
je 0x45df5d
cmp byte [ecx], 0
je 0x45df56
inc eax
cmp byte [eax], 0
jne 0x45df50
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x58], eax
mov ebx, edx
test edx, edx
je 0x45df7e
cmp byte [edx], 0
je 0x45df76
lea esp, [esp]
inc ebx
cmp byte [ebx], 0
jne 0x45df70
sub ebx, edx
and ebx, 0x3fffffff
mov ecx, dword [esi]
lea eax, [esp + 0x7c]
push 1
push eax
mov edx, 0x1b
mov dword [esp + 0x88], ebx
call fcn.004483c0
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x45dfb9
xor edx, edx
mov ecx, edi
call fcn.00448ac0
xor edx, edx
mov ecx, edi
call fcn.00448ac0
jmp 0x45dfdd
mov ecx, eax
call fcn.004482a0
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x64]
cmp dword [ecx + 0x18], eax
jle 0x45dfdd
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x45e019
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.00448ac0
jmp 0x45e039
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e039
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x45e071
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.00448ac0
jmp 0x45e091
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e091
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
push 0
push dword [esp + 0x40]
mov edx, 0x7a
mov ecx, esi
push 0
push dword [esp + 0x50]
push edi
call fcn.00448560
add esp, 0xc
mov edx, 0x4f
mov ecx, esi
push eax
call fcn.00448560
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x38]
mov ecx, edi
push eax
call fcn.004486c0
mov ecx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x45e29e
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x45e114
xor edx, edx
mov ecx, edi
call fcn.00448ac0
xor edx, edx
mov ecx, edi
call fcn.00448ac0
jmp 0x45e138
mov ecx, eax
call fcn.004482a0
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x64]
cmp dword [ecx + 0x18], eax
jle 0x45e138
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x45e16c
xor edx, edx
mov ecx, edi
call fcn.00448ac0
xor edx, edx
mov ecx, edi
call fcn.00448ac0
jmp 0x45e190
mov ecx, eax
call fcn.004482a0
mov eax, dword [esi]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0x64]
cmp dword [ecx + 0x18], eax
jle 0x45e190
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x45e1c4
xor edx, edx
mov ecx, edi
call fcn.00448ac0
xor edx, edx
mov ecx, edi
call fcn.00448ac0
jmp 0x45e1e8
mov ecx, eax
call fcn.004482a0
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x64]
cmp dword [ecx + 0x18], eax
jle 0x45e1e8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x45e220
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.00448ac0
jmp 0x45e240
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e240
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
push 0
push ecx
push 0
push dword [esp + 0x48]
mov edx, 0x7a
mov ecx, esi
push dword [esp + 0x54]
call fcn.00448560
add esp, 0x10
mov edx, 0x7a
mov ecx, esi
push eax
push 0
push dword [esp + 0x28]
push edi
call fcn.00448560
add esp, 0xc
mov edx, 0x49
mov ecx, esi
push eax
call fcn.00448560
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x30]
mov ecx, edi
push eax
call fcn.004486c0
mov ecx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
cmp eax, 6
je 0x45e485
cmp eax, 9
jne 0x45e38a
test ecx, ecx
je 0x45e485
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x45e2f8
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.00448ac0
jmp 0x45e318
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e318
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1b
call fcn.004483c0
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x45e350
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.00448ac0
jmp 0x45e370
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e370
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
push 0
push dword [esp + 0x20]
mov edx, 0x7a
mov ecx, esi
push edi
call fcn.00448560
mov edi, eax
jmp 0x45e423
cmp eax, 8
jne 0x45e3b6
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x45e3b6
push 0
push 0
mov ecx, edi
call fcn.00448c00
add esp, 8
mov edi, eax
jmp 0x45e426
mov ecx, dword [esi]
mov edx, 0x30
call fcn.00419f60
mov edi, eax
test edi, edi
je 0x45e3e6
push 0x30
push 0
push edi
call fcn.004c1b90
add esp, 0xc
mov byte [edi], 0x65
or eax, 0xffffffff
mov dword [edi + 0x18], 1
mov word [edi + 0x22], ax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x45e406
xor edx, edx
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.00448ac0
jmp 0x45e426
mov ecx, edi
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x45e426
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.004495e0
mov edi, eax
add esp, 4
mov dword [esp + 0x48], edi
test edi, edi
je 0x45e485
mov eax, dword [edi]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 4]
lea eax, [eax + ecx*8]
add eax, 0xffffffe8
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x14], eax
jne 0x45e45c
xor edi, edi
jmp 0x45e482
mov ecx, dword [esi]
lea edx, [ebx + 1]
call fcn.00419f60
mov edi, eax
test edi, edi
je 0x45e47e
push ebx
push dword [esp + 0x60]
push edi
call fcn.004c1c20
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x14]
mov dword [eax + 4], edi
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
inc ecx
mov edi, dword [esp + 0x50]
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x45def8
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.00419d00
mov eax, dword [ebx]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x2c], eax
test eax, eax
je 0x45e4ce
cmp byte [eax], 0
je 0x45e4c6
nop
inc ebx
cmp byte [ebx], 0
jne 0x45e4c0
sub ebx, eax
and ebx, 0x3fffffff
cmp dword [esp + 0x4c], 6
jne 0x45e69e
mov dword [esp + 0x7c], eax
mov edi, str.FOREIGN_KEY_constraint_failed
mov dword [esp + 0x80], ebx
lea esp, [esp]
inc edi
cmp byte [edi], 0
jne 0x45e4f0
mov ecx, dword [esp + 0x10]
sub edi, str.FOREIGN_KEY_constraint_failed
and edi, 0x3fffffff
lea eax, [edi + 0x31]
mov edx, eax
mov dword [esp + 0x14], eax
call fcn.00419f60
mov dword [esp + 0x18], eax
test eax, eax
je 0x45e57b
push dword [esp + 0x14]
push 0
push eax
call fcn.004c1b90
mov ecx, dword [esp + 0x24]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
lea eax, [edi + 1]
mov byte [ecx], 0x39
test eax, eax
jne 0x45e54c
or dword [ecx + 4], 0x400
mov dword [ecx + 8], eax
jmp 0x45e570
lea eax, [ecx + 0x30]
mov dword [ecx + 8], eax
test edi, edi
je 0x45e569
push edi
push str.FOREIGN_KEY_constraint_failed
push eax
call fcn.004c1c20
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [ecx + 8]
mov byte [edi + eax], 0
mov dword [ecx + 0x18], 1
mov byte [ecx + 1], 2
mov ecx, dword [esp + 0x10]
mov edx, 0x58
call fcn.00419f60
mov edi, eax
test edi, edi
je 0x45e5cc
push 0x58
push 0
push edi
call fcn.004c1b90
add esp, 0xc
mov dword [edi + 4], 1
mov edx, edi
push dword [edi]
mov edi, dword [esp + 0x14]
mov ecx, edi
push 1
call fcn.00455e90
add esp, 8
mov ecx, eax
cmp byte [edi + 0x40], 0
mov dword [esp + 0x24], ecx
je 0x45e62b
mov edx, ecx
mov ecx, edi
call fcn.004560d0
mov dword [esp + 0x24], 0
mov eax, dword [esi]
mov edx, 8
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.00419f60
mov edi, eax
test edi, edi
je 0x45e658
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
mov edx, 0x18
movq qword [edi], xmm0
call fcn.00419f60
mov edx, eax
mov dword [edi + 4], edx
test edx, edx
je 0x45e658
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 + 0x18]
movdqu xmmword [edx], xmm0
movq qword [edx + 0x10], xmm0
mov dword [edx], eax
jmp 0x45e672
mov eax, dword [ecx]
lea edx, [esp + 0x7c]
lea edi, [eax + eax*4]
shl edi, 4
add edi, ecx
mov ecx, dword [esp + 0x10]
call fcn.00451c30
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [edi - 0x40], eax
call fcn.00451c30
mov dword [edi - 0x44], eax
jmp 0x45e5d4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
call fcn.00448ac0
mov ecx, dword [esp + 0x34]
mov edx, edi
call fcn.004497a0
xor edi, edi
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x50]
mov edx, edi
mov ecx, esi
push dword [esp + 0x40]
call fcn.00467880
add esp, 0x20
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x4d]
mov al, byte [ecx + 0xf2]
mov byte [esp + 0x2b], al
mov byte [ecx + 0xf2], 0
call fcn.00419f60
mov edi, eax
test edi, edi
je 0x45e7f1
lea eax, [ebx + 0x4d]
push eax
push 0
push edi
call fcn.004c1b90
add esp, 0xc
test edi, edi
je 0x45e7f1
lea ecx, [edi + 0x24]
push ebx
push dword [esp + 0x30]
lea eax, [ecx + 0x28]
mov dword [edi + 0x1c], ecx
push eax
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebx
call fcn.004c1c20
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x38]
mov ecx, ebx
push 0
push 1
call fcn.00448c00
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
push 1
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.00448fb0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x18], eax
mov ecx, ebx
push 1
call fcn.004494a0
mov ecx, dword [esp + 0x24]
add esp, 4
cmp dword [esp + 0x30], 0
mov dword [ecx + 8], eax
je 0x45e7f5
mov ecx, dword [esi]
mov edx, 0x30
call fcn.00419f60
mov ebx, eax
test ebx, ebx
je 0x45e780
push 0x30
push 0
push ebx
call fcn.004c1b90
add esp, 0xc
mov byte [ebx], 0x13
or eax, 0xffffffff
mov dword [ebx + 0x18], 1
mov word [ebx + 0x22], ax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x45e7a2
mov edx, dword [esp + 0x30]
mov ecx, eax
call fcn.00448ac0
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.00448ac0
jmp 0x45e7d4
mov eax, dword [esp + 0x30]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
call fcn.004482a0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x45e7d4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.0041c450
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push 0
push 1
call fcn.00448c00
add esp, 8
mov dword [edi + 0xc], eax
jmp 0x45e7f5
mov ebx, dword [esp + 0x10]
mov al, byte [esp + 0x2b]
mov ecx, ebx
mov edx, dword [esp + 0x38]
mov byte [ebx + 0xf2], al
call fcn.00448ac0
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00448ac0
mov edx, dword [esp + 0x48]
mov ecx, ebx
call fcn.004497a0
mov esi, dword [esp + 0x24]
test esi, esi
je 0x45e83a
mov edx, esi
mov ecx, ebx
call fcn.004677f0
mov edx, esi
mov ecx, ebx
call fcn.00419d00
cmp byte [ebx + 0x40], 1
jne 0x45e85d
mov edx, edi
mov ecx, ebx
call fcn.0045d3e0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004bd963
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
cmp eax, 6
je 0x45e885
cmp eax, 9
jne 0x45e87c
test edx, edx
jne 0x45e87c
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x6d
jmp 0x45e88c
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x6e
jmp 0x45e88c
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x77
mov esi, dword [esp + 0x50]
test edx, edx
mov dword [ecx + 4], edi
mov eax, dword [esi + 0x44]
mov dword [edi + 0x14], eax
mov ecx, dword [esi + 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.004bd963
mov esp, ebp
pop ebp
ret