Function at 0x484110
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 ebx, dword [edi]
xor eax, eax
xor edx, edx
cmp dword [ebp + 0x10], edx
mov dword [esp + 0x34], ebx
setne al
movzx ecx, byte [eax + esi + 0x19]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + eax*4 + 0x1c]
mov dword [esp + 0x38], ecx
cmp ecx, edx
je 0x48478e
cmp eax, edx
jne 0x48478e
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 8]
push esi
push edx
push edi
call fcn.00482960
add esp, 0x14
test eax, eax
jne 0x484726
xor edx, edx
cmp dword [esi + 0x14], edx
mov dword [esp + 0x28], edx
jle 0x48453f
mov eax, 3
mov dword [esp + 0x60], 0x541f64
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0x541f6c
mov dword [esp + 0x6c], eax
jmp 0x4841c4
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4841d1
mov eax, dword [eax + edx*4]
jmp 0x4841d4
mov eax, dword [esi + 0x24]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4841f0
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + edx*4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + edx*8]
jmp 0x4841f5
mov ecx, 0x541f70
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*2]
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 0x48422d
cmp byte [ecx], 0
je 0x484226
lea ecx, [ecx]
inc eax
cmp byte [eax], 0
jne 0x484220
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x54], eax
mov eax, edx
test edx, edx
jne 0x48423d
mov dword [esp + 0x1c], edx
jmp 0x484253
cmp byte [edx], 0
je 0x484248
inc eax
cmp byte [eax], 0
jne 0x484242
sub eax, edx
and eax, 0x3fffffff
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
push 1
mov dword [esp + 0x60], eax
push 0x1a
push ecx
lea eax, [esp + 0x64]
call fcn.00471780
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x44], ebx
test ebx, ebx
jne 0x48428d
push eax
push esi
call fcn.00471cc0
push ebx
push esi
call fcn.00471cc0
add esp, 0x10
jmp 0x4842ac
mov esi, ebx
call fcn.004716c0
mov edx, dword [edi]
mov eax, dword [edx + 0x54]
cmp dword [ebx + 0x2c], eax
jle 0x4842ac
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.0044c980
add esp, 8
mov eax, dword [edi]
push 1
push 0x1a
push eax
lea eax, [esp + 0x5c]
call fcn.00471780
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4842da
push eax
push esi
call fcn.00471cc0
push ebx
push esi
call fcn.00471cc0
add esp, 0x10
jmp 0x4842f9
mov esi, ebx
call fcn.004716c0
mov ecx, dword [edi]
mov eax, dword [ecx + 0x54]
cmp dword [ebx + 0x2c], eax
jle 0x4842f9
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.0044c980
add esp, 8
mov edx, dword [edi]
push 1
push 0x1a
push edx
lea eax, [esp + 0x6c]
call fcn.00471780
mov esi, eax
mov eax, dword [edi]
add esp, 0xc
mov dword [esp + 0x40], eax
test esi, esi
jne 0x48432f
push esi
push eax
call fcn.00471cc0
mov eax, dword [esp + 0x48]
push esi
push eax
call fcn.00471cc0
add esp, 0x10
jmp 0x48434c
call fcn.004716c0
mov ecx, dword [edi]
mov eax, dword [ecx + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x48434c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.0044c980
add esp, 8
mov edx, dword [esp + 0x44]
push 0
push edx
push 0
push ebx
push esi
push edi
mov eax, 0x76
call fcn.00471920
add esp, 0x10
push eax
push edi
mov eax, 0x4c
call fcn.00471920
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, esi
call fcn.00471980
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
test ebx, ebx
je 0x484436
push 0
push ecx
push 0
push ecx
lea eax, [esp + 0x60]
push eax
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x14
push eax
lea ecx, [esp + 0x78]
push ecx
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x10
push eax
push edi
mov eax, 0x76
call fcn.00471920
add esp, 0x14
push eax
push 0
push ecx
lea edx, [esp + 0x60]
push edx
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x14
push eax
lea eax, [esp + 0x70]
push eax
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x10
push eax
push edi
mov eax, 0x76
call fcn.00471920
add esp, 0x10
push eax
push edi
mov eax, 0x46
call fcn.00471920
mov ecx, dword [esp + 0x30]
add esp, 0x10
mov edx, esi
call fcn.00471980
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
cmp eax, 6
je 0x484524
cmp eax, 9
jne 0x48448a
test ebx, ebx
je 0x484524
push 0
push ecx
lea ecx, [esp + 0x58]
push ecx
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x14
push eax
lea edx, [esp + 0x70]
push edx
push 0
push 0
push edi
mov eax, 0x1a
call fcn.00471920
add esp, 0x10
push eax
mov eax, 0x76
jmp 0x4844b7
push 0
push 0
cmp eax, 8
jne 0x4844b0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x50]
mov eax, dword [edx + eax + 4]
test eax, eax
je 0x4844b0
push eax
push esi
call fcn.00471e50
jmp 0x4844bd
mov eax, 0x62
push 0
push edi
call fcn.00471920
mov ecx, dword [esp + 0x34]
add esp, 0x10
push ecx
mov ecx, eax
mov eax, edi
call fcn.004725e0
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x484524
cmp dword [esp + 0x58], 0
mov eax, dword [ecx]
mov esi, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea ecx, [eax + edx*4 - 0x14]
mov dword [esp + 0x48], ecx
jne 0x4844f8
xor esi, esi
jmp 0x48451d
mov ebx, dword [esp + 0x1c]
lea ecx, [ebx + 1]
call fcn.0044ac10
mov esi, eax
test esi, esi
je 0x48451d
mov edx, dword [esp + 0x58]
push ebx
push edx
push esi
call fcn.004f26c0
add esp, 0xc
mov byte [esi + ebx], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0xc]
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x28], eax
mov esi, ecx
jl 0x4841c0
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push edx
push ebx
call fcn.0044a9d0
mov eax, dword [esi]
mov ecx, dword [eax]
add esp, 8
mov dword [esp + 0x48], ecx
mov eax, ecx
test ecx, ecx
jne 0x484561
mov dword [esp + 0x1c], ecx
jmp 0x484577
cmp byte [ecx], 0
je 0x48456c
inc eax
cmp byte [eax], 0
jne 0x484566
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x38], 6
jne 0x4845f0
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], ecx
push 0x38
push ebx
mov ecx, str.foreign_key_constraint_failed
call fcn.00471880
mov esi, eax
add esp, 8
test esi, esi
je 0x4845a4
mov byte [esi + 1], 2
mov edx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push ecx
lea eax, [esp + 0x88]
push eax
xor ecx, ecx
xor eax, eax
mov edx, ebx
call fcn.0047dac0
add esp, 8
push eax
push 0
mov ecx, esi
mov eax, edi
call fcn.004725e0
add esp, 4
push edi
call fcn.0048c9b0
add esp, 0x24
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
mov cl, byte [ebx + 0xea]
mov byte [esp + 0x13], cl
mov ecx, dword [esp + 0x1c]
add ecx, 0x4d
mov esi, ebx
mov byte [ebx + 0xea], 0
call fcn.0044ac10
mov esi, eax
test esi, esi
je 0x484628
mov eax, dword [esp + 0x1c]
add eax, 0x4d
push eax
push 0
push esi
call fcn.004f08c0
add esp, 0xc
mov dword [esp + 0x44], esi
test esi, esi
je 0x4846cd
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x24]
mov ecx, eax
mov dword [esi + 0x1c], eax
push edx
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 0x28]
push edx
push eax
mov dword [esp + 0x20], ecx
mov dword [ecx + 0xc], eax
call fcn.004f26c0
mov eax, dword [esp + 0x24]
add esp, 0xc
push 0
push 1
push eax
push ebx
call fcn.00471e50
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
push 1
push edx
push ebx
mov dword [ecx + 0x14], eax
call fcn.004720d0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
add esp, 0x1c
push 1
push edx
push ebx
mov dword [ecx + 0x18], eax
call fcn.004724c0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x4846cd
push 0
push 0
push eax
push edi
mov eax, 0x13
call fcn.00471920
push 0
push 1
push eax
push ebx
mov dword [esp + 0x40], eax
call fcn.00471e50
add esp, 0x20
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x13]
push eax
push ebx
mov byte [ebx + 0xea], dl
call fcn.00471cc0
mov ecx, dword [esp + 0x28]
push ecx
push ebx
call fcn.00471cc0
mov edx, dword [esp + 0x34]
push edx
mov edi, ebx
call fcn.004727b0
mov edi, dword [esp + 0x44]
add esp, 0x14
test edi, edi
je 0x484715
push edi
push ebx
call fcn.0048c930
push edi
push ebx
call fcn.0044a9d0
add esp, 0x10
cmp byte [ebx + 0x1e], 1
jne 0x48472f
mov eax, dword [esp + 0x34]
mov ebx, esi
call fcn.00483960
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x38]
cmp eax, 6
je 0x484755
cmp eax, 9
jne 0x48474c
cmp dword [ebp + 0x10], 0
jne 0x48474c
mov eax, dword [esp + 0x14]
mov byte [eax], 0x6a
jmp 0x48475c
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x6b
jmp 0x48475c
mov edx, dword [esp + 0x14]
mov byte [edx], 0x74
mov eax, dword [esp + 0x14]
cmp dword [ebp + 0x10], 0
mov dword [eax + 4], esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov dword [esi + 0x14], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0x18], edx
setne dl
mov dword [eax + ecx*4 + 0x1c], esi
mov eax, dword [esp + 0x44]
add dl, 0x6a
mov byte [esi + 8], dl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret