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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp dword [ebp + 0xc], ecx
mov dword [esp + 0x10], edi
mov ebx, dword [edi]
setne cl
mov al, byte [ecx + edx + 0x19]
mov byte [esp + 0xf], al
cmp al, 7
jne 0x47e33f
mov eax, dword [ebx + 0x20]
and eax, 0x80000
or eax, 0
jne 0x47ec3f
add ecx, 7
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x40], ecx
jmp 0x47e354
add ecx, 7
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x40], ecx
test al, al
je 0x47ec9c
test esi, esi
jne 0x47ec9c
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], esi
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x30], esi
push eax
mov dword [esp + 0x28], esi
mov ecx, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x40]
push edx
mov edx, esi
call fcn.0047c490
add esp, 0xc
test eax, eax
jne 0x47ec3f
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
cmp dword [edi + 0x14], ecx
jle 0x47e88e
nop dword [eax]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47e3bd
mov edx, dword [eax + ecx*4]
jmp 0x47e3c0
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x47e3d1
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx*2]
jmp 0x47e3d5
movzx eax, word [esi + 0x28]
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47e3ec
xor esi, esi
jmp 0x47e400
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x47e3f1
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [edi]
shl edx, 4
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 4]
mov eax, dword [edx + eax]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x47e41b
xor edi, edi
jmp 0x47e42f
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x47e420
sub edi, ecx
and edi, 0x3fffffff
lea eax, [edi + 0x35]
mov dword [esp + 0x54], edi
push 0
push eax
mov ecx, ebx
call fcn.0041ca80
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x47e490
push 0x34
push 0
push eax
call fcn.004f13c0
mov ecx, dword [esp + 0x34]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x34]
mov byte [ecx], 0x3b
mov dword [ecx + 8], eax
test edi, edi
je 0x47e482
push edi
push dword [esp + 0x54]
push eax
call fcn.004f0e30
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [ecx + 8]
mov byte [edi + eax], 0
mov dword [ecx + 0x18], 1
lea eax, [esi + 0x35]
mov ecx, ebx
push 0
push eax
call fcn.0041ca80
mov edi, eax
add esp, 8
mov dword [esp + 0x44], edi
test edi, edi
je 0x47e4e7
push 0x34
push 0
push edi
call fcn.004f13c0
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test esi, esi
je 0x47e4d9
push esi
push dword [esp + 0x1c]
push eax
call fcn.004f0e30
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [esi + eax], 0
mov dword [edi + 0x18], 1
push 0
push 0x38
mov ecx, ebx
call fcn.0041ca80
mov edi, eax
add esp, 8
test edi, edi
je 0x47e534
push 0x34
push 0
push edi
call fcn.004f13c0
lea ecx, [edi + 0x34]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x567284]
mov word [ecx], ax
mov al, byte [0x567286]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edi + 0x18], 1
push dword [esp + 0x28]
mov edx, 0x89
push ecx
push dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0045b910
add esp, 0xc
mov edx, 0x35
mov ecx, edi
push eax
call fcn.0045b910
mov edx, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.0045ba30
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x47e720
lea eax, [esi + 0x35]
mov ecx, ebx
push 0
push eax
call fcn.0041ca80
mov edi, eax
add esp, 8
mov dword [esp + 0x44], edi
test edi, edi
je 0x47e5d3
push 0x34
push 0
push edi
call fcn.004f13c0
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test esi, esi
je 0x47e5c5
push esi
push dword [esp + 0x1c]
push eax
call fcn.004f0e30
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [esi + eax], 0
mov dword [edi + 0x18], 1
push 0
push 0x38
mov ecx, ebx
call fcn.0041ca80
mov edi, eax
add esp, 8
mov dword [esp + 0x48], edi
test edi, edi
je 0x47e624
push 0x34
push 0
push edi
call fcn.004f13c0
lea ecx, [edi + 0x34]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x567280]
mov word [ecx], ax
mov al, byte [0x567282]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edi + 0x18], 1
lea eax, [esi + 0x35]
mov ecx, ebx
push 0
push eax
call fcn.0041ca80
mov edi, eax
add esp, 8
test edi, edi
je 0x47e677
push 0x34
push 0
push edi
call fcn.004f13c0
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test esi, esi
je 0x47e669
push esi
push dword [esp + 0x1c]
push eax
call fcn.004f0e30
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [esi + eax], 0
mov dword [edi + 0x18], 1
push 0
push 0x38
mov ecx, ebx
call fcn.0041ca80
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x47e6ca
push 0x34
push 0
push eax
call fcn.004f13c0
mov edx, dword [esp + 0x34]
add esp, 0xc
lea ecx, [edx + 0x34]
or eax, 0xffffffff
mov byte [edx], 0x3b
mov word [edx + 0x22], ax
mov dword [edx + 8], ecx
mov ax, word [0x567284]
mov word [ecx], ax
mov al, byte [0x567286]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edx + 0x18], 1
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edx, 0x89
push dword [esp + 0x4c]
call fcn.0045b910
add esp, 8
mov edx, 0x89
push eax
push ecx
push edi
push dword [esp + 0x34]
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0045b910
add esp, 0xc
mov edx, 0x2d
mov ecx, edi
push eax
call fcn.0045b910
mov edx, dword [esp + 0x1c]
mov ecx, edi
push eax
call fcn.0045ba30
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xf]
cmp al, 7
je 0x47e875
cmp al, 0xa
jne 0x47e7f5
test ecx, ecx
je 0x47e875
lea eax, [esi + 0x35]
mov ecx, ebx
push 0
push eax
call fcn.0041ca80
mov edi, eax
add esp, 8
test edi, edi
je 0x47e78f
push 0x34
push 0
push edi
call fcn.004f13c0
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test esi, esi
je 0x47e781
push esi
push dword [esp + 0x1c]
push eax
call fcn.004f0e30
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [esi + eax], 0
mov dword [edi + 0x18], 1
push 0
push 0x38
mov ecx, ebx
call fcn.0041ca80
mov esi, eax
add esp, 8
test esi, esi
je 0x47e7dc
push 0x34
push 0
push esi
call fcn.004f13c0
lea ecx, [esi + 0x34]
mov byte [esi], 0x3b
mov dword [esi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov ax, word [0x567280]
mov word [ecx], ax
mov al, byte [0x567282]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [esi + 0x18], 1
push edi
mov edi, dword [esp + 0x14]
mov edx, 0x89
push esi
mov ecx, edi
call fcn.0045b910
add esp, 8
mov esi, eax
jmp 0x47e84d
mov ecx, ebx
push 0
cmp al, 9
jne 0x47e81f
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x47e81f
push 0
call fcn.0045c240
add esp, 8
mov esi, eax
jmp 0x47e84d
push 0x34
call fcn.0041ca80
mov esi, eax
add esp, 8
test esi, esi
je 0x47e84d
push 0x34
push 0
push esi
call fcn.004f13c0
add esp, 0xc
mov dword [esi + 0x18], 1
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov byte [esi], 0x75
mov edx, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.0045cfe0
add esp, 4
mov esi, eax
lea eax, [esp + 0x50]
mov dword [esp + 0x24], esi
mov edx, esi
mov ecx, edi
push 0
push eax
call fcn.0045d2a0
add esp, 8
mov ecx, dword [esp + 0x3c]
mov edi, dword [ebp + 8]
inc ecx
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
cmp ecx, dword [edi + 0x14]
jl 0x47e3b0
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x47e8d7
test ebx, ebx
je 0x47e8ce
cmp dword [ebx + 0x1e8], 0
je 0x47e8ae
mov edx, ecx
mov ecx, ebx
call fcn.0041c6a0
jmp 0x47e8d7
cmp ecx, dword [ebx + 0x138]
jb 0x47e8ce
cmp ecx, dword [ebx + 0x13c]
jae 0x47e8ce
mov eax, dword [ebx + 0x134]
mov dword [ecx], eax
mov dword [ebx + 0x134], ecx
jmp 0x47e8d7
push ecx
call fcn.0041c630
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x47e8e7
xor esi, esi
jmp 0x47e8ff
mov esi, eax
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x47e8f0
sub esi, ecx
and esi, 0x3fffffff
cmp byte [esp + 0xf], 7
jne 0x47ea9b
push 0
push 0x52
mov ecx, ebx
call fcn.0041ca80
mov edi, eax
add esp, 8
test edi, edi
je 0x47e971
push 0x34
push 0
push edi
call fcn.004f13c0
mov byte [edi], 0x47
lea ecx, [edi + 0x34]
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
movups xmm0, xmmword [str.FOREIGN_KEY_constraint_failed]
movups xmmword [ecx], xmm0
movq xmm0, qword [0x566dac]
movq qword [ecx + 0x10], xmm0
mov eax, dword [0x566db4]
mov dword [ecx + 0x18], eax
mov al, byte [0x566db8]
mov byte [ecx + 0x1c], al
mov byte [ecx + 0x1d], 0
mov dword [edi + 0x18], 1
mov byte [edi + 1], 2
mov eax, dword [esp + 0x10]
push 0
push 0x50
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.0041ca80
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x47e99a
mov dword [esp + 0x28], eax
jmp 0x47ea29
push 0x48
mov dword [eax + 4], 1
mov dword [eax], 1
add eax, 8
push 0
push eax
call fcn.004f13c0
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov dword [ecx + 0x34], 0xffffffff
mov eax, dword [ecx]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
mov dword [esp + 0x48], eax
xor eax, eax
cmp dword [esp + 0x30], eax
jne 0x47e9dc
mov dword [esp + 0x2c], eax
jmp 0x47ea10
mov ecx, dword [esp + 0x4c]
mov edx, esi
add edx, 1
adc eax, 0
push eax
push edx
call fcn.0041ca80
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x47ea10
push esi
push dword [esp + 0x34]
push eax
call fcn.004f0e30
mov eax, dword [esp + 0x38]
add esp, 0xc
mov byte [eax + esi], 0
mov ecx, eax
call fcn.004206c0
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [ecx - 0x38], eax
mov dword [ecx - 0x3c], 0
mov eax, dword [esp + 0x10]
push 0
push 0x1c
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.0041ca80
add esp, 8
test eax, eax
je 0x47ea5e
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edi
jmp 0x47ea6f
test edi, edi
je 0x47ea6d
mov ecx, dword [esp + 0x4c]
mov edx, edi
call fcn.0045bfa0
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, eax
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x30]
push dword [esp + 0x40]
call fcn.0048cc00
add esp, 0x1c
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], 0
inc dword [ebx + 0x118]
lea eax, [esi + 0x51]
push 0
push eax
mov ecx, ebx
call fcn.0041ca80
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x47ec48
lea eax, [esi + 0x51]
push eax
push 0
push edi
call fcn.004f13c0
add esp, 0xc
lea ecx, [edi + 0x24]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x20], ecx
mov dword [edi + 0x1c], ecx
mov dword [ecx + 0xc], eax
push esi
push dword [esp + 0x34]
push eax
call fcn.004f0e30
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x47eb06
push 0
push 1
mov edx, eax
mov ecx, ebx
call fcn.0045c240
add esp, 8
jmp 0x47eb08
xor eax, eax
mov esi, dword [esp + 0x20]
mov ecx, ebx
mov edx, dword [esp + 0x24]
push 1
mov dword [esi + 0x10], eax
call fcn.0045c700
mov edx, dword [esp + 0x38]
add esp, 4
mov ecx, ebx
mov dword [esi + 0x14], eax
push 1
call fcn.0045ccd0
add esp, 4
mov dword [esi + 8], eax
cmp dword [esp + 0x14], 0
je 0x47ebdd
mov eax, dword [esp + 0x10]
push 0
push 0x34
mov ecx, dword [eax]
call fcn.0041ca80
mov esi, eax
add esp, 8
test esi, esi
je 0x47ebbd
push 0x34
push 0
push esi
call fcn.004f13c0
or eax, 0xffffffff
mov byte [esi], 0x13
mov word [esi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
call fcn.0045b570
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x47eba5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.004205b0
add esp, 0xc
push 0
push 1
mov edx, esi
mov dword [esp + 0x1c], esi
mov ecx, ebx
call fcn.0045c240
add esp, 8
mov ecx, eax
jmp 0x47ebd2
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax]
call fcn.0045bfa0
mov dword [esp + 0x14], esi
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [edi + 0xc], ecx
mov esi, dword [esp + 0x18]
dec dword [ebx + 0x118]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47ebf8
mov edx, eax
mov ecx, ebx
call fcn.0045bfa0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47ec09
mov edx, eax
mov ecx, ebx
call fcn.0045bfa0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x47ec1a
mov edx, eax
mov ecx, ebx
call fcn.0045d420
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47ec30
push 1
mov edx, eax
mov ecx, ebx
call fcn.0048cad0
add esp, 4
cmp byte [ebx + 0x51], 1
jne 0x47ec4c
mov edx, edi
mov ecx, ebx
call fcn.0047d5e0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, edi
jmp 0x47ebe1
mov al, byte [esp + 0xf]
mov ebx, dword [ebp + 0xc]
cmp al, 7
je 0x47ec71
cmp al, 0xa
jne 0x47ec68
test ebx, ebx
jne 0x47ec68
mov eax, dword [esp + 0x20]
mov byte [eax], 0x7c
jmp 0x47ec78
mov eax, dword [esp + 0x20]
mov byte [eax], 0x7d
jmp 0x47ec78
mov eax, dword [esp + 0x20]
mov byte [eax], 0x86
mov edx, dword [esp + 0x38]
test ebx, ebx
mov dword [eax + 4], edi
mov eax, dword [edx + 0x48]
mov dword [edi + 0x14], eax
mov ecx, dword [edx + 0x48]
mov eax, dword [esp + 0x40]
mov dword [edi + 0x18], ecx
setne cl
add cl, 0x7c
mov dword [eax], edi
mov byte [edi + 8], cl
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret