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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x68]
mov eax, dword [ebp]
push esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x14], eax
xor eax, eax
push edi
xor edi, edi
cmp dword [esp + 0x7c], edi
setne al
movzx ecx, byte [eax + esi + 0x19]
mov dword [esp + 0x48], eax
mov eax, dword [esi + eax*4 + 0x1c]
mov dword [esp + 0x28], ecx
cmp ecx, edi
je 0x43fa45
cmp eax, edi
jne 0x43fa45
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x30]
push edx
push esi
push eax
push ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], edi
call fcn.004374b0
add esp, 0x14
test eax, eax
jne 0x43f9e4
cmp dword [esi + 0x14], edi
mov dword [esp + 0x70], edi
jle 0x43f7a5
mov eax, 3
mov dword [esp + 0x5c], 0x4984cc
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x4984c8
mov dword [esp + 0x68], eax
lea esp, [esp]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43f391
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
jmp 0x43f398
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x43f3b9
mov ecx, dword [ecx + 8]
mov edx, dword [esp + 0x70]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esp + 0x74]
mov edx, dword [edx + 0xc]
lea ecx, [ecx + ecx*2]
mov ecx, dword [edx + ecx*8]
jmp 0x43f3be
mov ecx, 0x4984c4
mov edx, dword [esp + 0x78]
mov edx, dword [edx]
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 + 0x40], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], edx
mov eax, ecx
test ecx, ecx
je 0x43f3fd
cmp byte [ecx], 0
je 0x43f3f6
lea ebx, [ebx]
inc eax
cmp byte [eax], 0
jne 0x43f3f0
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x50], eax
mov eax, edx
test edx, edx
je 0x43f41d
cmp byte [edx], 0
je 0x43f416
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x43f410
sub eax, edx
and eax, 0x3fffffff
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp]
push 1
push 0x1a
push eax
lea eax, [esp + 0x60]
call fcn.00434bc0
mov edi, dword [ebp]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x3c], esi
test esi, esi
jne 0x43f459
push eax
push edi
call fcn.0042f0b0
push esi
push edi
call fcn.0042f0b0
add esp, 0x10
jmp 0x43f479
call fcn.00426870
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x43f479
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov edx, dword [ebp]
push 1
push 0x1a
push edx
lea eax, [esp + 0x58]
call fcn.00434bc0
mov edi, dword [ebp]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x38], esi
test esi, esi
jne 0x43f4ad
push eax
push edi
call fcn.0042f0b0
push esi
push edi
call fcn.0042f0b0
add esp, 0x10
jmp 0x43f4cd
call fcn.00426870
mov eax, dword [ebp]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x43f4cd
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov ecx, dword [ebp]
push 1
push 0x1a
push ecx
lea eax, [esp + 0x68]
call fcn.00434bc0
mov esi, dword [ebp]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x43f4fd
push eax
push esi
call fcn.0042f0b0
push ebx
push esi
call fcn.0042f0b0
add esp, 0x10
jmp 0x43f51f
mov esi, ebx
call fcn.00426870
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
cmp dword [ebx + 0x2c], eax
jle 0x43f51f
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov esi, dword [ebp]
mov ecx, 0x30
call fcn.0042b020
mov esi, eax
mov dword [esp + 0x30], esi
test esi, esi
je 0x43f554
push 0x30
push 0
push esi
call fcn.0047d730
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x76
mov word [esi + 0x1e], ax
mov dword [esi + 0x2c], 1
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov eax, ebx
mov ebx, dword [ebp]
mov ecx, esi
call fcn.00434d00
test esi, esi
je 0x43f587
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x43f587
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov esi, dword [ebp]
mov ecx, 0x30
call fcn.0042b020
mov esi, eax
test esi, esi
je 0x43f5b8
push 0x30
push 0
push esi
call fcn.0047d730
add esp, 0xc
or edx, 0xffffffff
mov byte [esi], 0x4c
mov word [esi + 0x1e], dx
mov dword [esi + 0x2c], 1
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov ebx, dword [ebp]
mov ecx, esi
call fcn.00434d00
test esi, esi
je 0x43f5e9
mov eax, dword [ebp]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x43f5e9
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, esi
mov esi, dword [esp + 0x18]
mov edx, esi
call fcn.00434dc0
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
test edi, edi
je 0x43f6ab
push 0
push 0
lea ecx, [esp + 0x54]
push ecx
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
lea edx, [esp + 0x70]
push edx
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
push ebp
mov eax, 0x76
call fcn.00434d60
add esp, 0x10
push eax
push 0
lea eax, [esp + 0x58]
push eax
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
lea ecx, [esp + 0x6c]
push ecx
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
push ebp
mov eax, 0x76
call fcn.00434d60
add esp, 0x10
push eax
push ebp
mov eax, 0x46
call fcn.00434d60
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov edx, esi
call fcn.00434dc0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
cmp eax, 6
je 0x43f78f
cmp eax, 9
jne 0x43f6fe
test edi, edi
je 0x43f78f
push 0
lea edx, [esp + 0x50]
push edx
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
lea eax, [esp + 0x6c]
push eax
push 0
push 0
push ebp
mov eax, 0x1a
call fcn.00434d60
add esp, 0x10
push eax
mov eax, 0x76
jmp 0x43f72f
push 0
push 0
cmp eax, 8
jne 0x43f728
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x43f728
push eax
push esi
call fcn.0043d420
jmp 0x43f735
mov eax, 0x62
push 0
push ebp
call fcn.00434d60
mov edx, dword [esp + 0x2c]
mov ecx, eax
add esp, 0x10
mov eax, ebp
call fcn.00435430
mov dword [esp + 0x1c], eax
test eax, eax
je 0x43f78f
cmp dword [esp + 0x54], 0
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
mov esi, dword [ebp]
lea edx, [ecx + ecx*4]
lea ebx, [eax + edx*4 - 0x14]
jne 0x43f767
xor esi, esi
jmp 0x43f78c
mov edi, dword [esp + 0x34]
lea ecx, [edi + 1]
call fcn.0042b020
mov esi, eax
test esi, esi
je 0x43f78c
mov ecx, dword [esp + 0x54]
push edi
push ecx
push esi
call fcn.0047d7b0
add esp, 0xc
mov byte [esi + edi], 0
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
inc eax
cmp eax, dword [edx + 0x14]
mov dword [esp + 0x70], eax
jl 0x43f380
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
push eax
push esi
call fcn.00420620
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ecx, dword [edx]
add esp, 8
mov dword [esp + 0x40], ecx
mov eax, ecx
test ecx, ecx
je 0x43f7de
cmp byte [ecx], 0
je 0x43f7d7
inc eax
cmp byte [eax], 0
jne 0x43f7d1
sub eax, ecx
and eax, 0x3fffffff
cmp dword [esp + 0x28], 6
mov dword [esp + 0x20], eax
jne 0x43f8be
mov dword [esp + 0x64], ecx
push 0x38
push esi
mov ecx, str.foreign_key_constraint_failed
mov dword [esp + 0x70], eax
call fcn.00434cc0
mov ebx, eax
add esp, 8
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x43f813
mov byte [ebx + 1], 2
mov ecx, 0x40
call fcn.0042b020
mov edi, eax
test edi, edi
je 0x43f85a
push 0x40
push 0
push edi
call fcn.0047d730
mov eax, 1
mov word [edi + 2], ax
movsx ecx, word [edi]
add esp, 0xc
push ecx
push eax
push esi
mov eax, edi
call fcn.00430250
add esp, 0xc
cmp byte [esi + 0x1e], 0
mov edi, eax
je 0x43f85e
push edi
call fcn.004275a0
add esp, 4
xor edi, edi
jmp 0x43f88c
movsx eax, word [edi]
lea edx, [eax*8]
sub edx, eax
push esi
lea eax, [esp + 0x68]
lea ebx, [edi + edx*8 - 0x30]
call fcn.0042ff10
mov dword [ebx + 4], eax
push esi
xor eax, eax
call fcn.0042ff10
mov dword [ebx], eax
mov ebx, dword [esp + 0x78]
add esp, 8
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push edi
mov ecx, ebx
xor edx, edx
mov eax, ebp
call fcn.00435430
push ebp
call fcn.004379a0
add esp, 0x24
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], 0
mov cl, byte [esi + 0xea]
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x70], cl
add ebx, 0x4d
mov ecx, ebx
mov byte [esi + 0xea], 0
call fcn.0042b020
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x43f8f3
push ebx
push 0
push edi
call fcn.0047d730
add esp, 0xc
mov dword [esp + 0x3c], edi
test edi, edi
je 0x43f985
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
lea ebx, [edi + 0x24]
push ecx
lea eax, [ebx + 0x28]
push edx
mov dword [edi + 0x1c], ebx
push eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ecx
call fcn.0047d7b0
mov eax, dword [esp + 0x1c]
push 0
push 1
push eax
push esi
call fcn.0043d420
mov ecx, dword [esp + 0x38]
push 1
push ecx
push esi
mov dword [ebx + 0x14], eax
call fcn.0042f170
mov edx, dword [esp + 0x4c]
push 1
push edx
push esi
mov dword [ebx + 0x18], eax
call fcn.00435340
add esp, 0x34
cmp dword [esp + 0x14], 0
mov dword [ebx + 8], eax
je 0x43f989
mov eax, dword [esp + 0x14]
push 0
push 0
push eax
push ebp
mov eax, 0x13
call fcn.00434d60
push 0
push 1
push eax
push esi
mov dword [esp + 0x34], eax
call fcn.0043d420
add esp, 0x20
mov dword [edi + 0xc], eax
jmp 0x43f989
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
mov cl, byte [esp + 0x70]
push edx
push esi
mov byte [esi + 0xea], cl
call fcn.0042f0b0
mov eax, dword [esp + 0x1c]
push eax
push esi
call fcn.0042f0b0
mov ecx, dword [esp + 0x2c]
push ecx
mov edi, esi
call fcn.004269d0
mov edi, dword [esp + 0x38]
add esp, 0x14
test edi, edi
je 0x43f9d1
push edi
push esi
call fcn.00428010
push edi
push esi
call fcn.00420620
add esp, 0x10
cmp byte [esi + 0x1e], 1
jne 0x43f9ee
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
call fcn.00430850
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov eax, dword [esp + 0x28]
cmp eax, 6
je 0x43fa0d
cmp eax, 9
jne 0x43fa08
cmp dword [esp + 0x7c], 0
jne 0x43fa08
mov byte [ebx], 0x6a
jmp 0x43fa10
mov byte [ebx], 0x6b
jmp 0x43fa10
mov byte [ebx], 0x74
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
cmp dword [esp + 0x7c], 0
mov dword [ebx + 4], eax
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x44]
mov edx, dword [esp + 0x78]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + ecx*4 + 0x1c], eax
setne dl
add dl, 0x6a
mov byte [eax + 8], dl
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret