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

Disassembly:
sub esp, 0x74
xor eax, eax
mov dword [esp + 0x10], edx
cmp dword [esp + 0x7c], eax
push ebx
mov ebx, ecx
setne al
mov ecx, dword [esp + 0x7c]
push ebp
push esi
mov esi, dword [ebx]
mov dl, byte [eax + ecx + 0x19]
mov dword [esp + 0x30], eax
mov byte [esp + 0xf], dl
push edi
cmp dl, 7
jne 0x441b2c
mov eax, dword [esi + 0x20]
and eax, 0x80000
or eax, 0
jne 0x441b7f
mov eax, dword [esp + 0x34]
mov edi, dword [ecx + eax*4 + 0x1c]
test dl, dl
je 0x442042
test edi, edi
jne 0x442042
mov edx, dword [esp + 0x20]
xor eax, eax
mov ebp, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov edi, ecx
mov dword [esp + 0x14], eax
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x44], ebp
push eax
push edi
call fcn.00440994
add esp, 0xc
test eax, eax
je 0x441b86
xor eax, eax
jmp 0x442044
xor ecx, ecx
mov dword [esp + 0x30], ecx
cmp dword [edi + 0x14], ecx
jle 0x441e7b
push 3
pop eax
mov dword [esp + 0x4c], 0x4b5a54
mov ebp, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x4b5a50
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x441bc3
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], eax
jmp 0x441bca
mov edx, dword [edi + 0x24]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441bdf
mov eax, dword [eax + 4]
movzx ecx, word [eax + ecx*2]
mov eax, dword [esp + 0x20]
jmp 0x441be7
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + 0x28]
mov eax, dword [eax + 4]
movsx ecx, cx
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov dword [esp + 0x44], ecx
call fcn.0040d590
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [edi]
shl ecx, 4
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x5c], ecx
call fcn.0040d590
mov dword [esp + 0x60], eax
mov ecx, esi
push 0
lea eax, [esp + 0x60]
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
mov edx, 0x89
mov ecx, ebx
call fcn.0043066b
pop ecx
pop ecx
push eax
push 0x35
pop edx
mov ecx, ebx
call fcn.0043066b
mov edx, dword [ebx]
mov dword [esp + 0x44], edx
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x38], ecx
test ebp, ebp
jne 0x441c8d
mov ebp, ecx
jmp 0x441d25
test ecx, ecx
je 0x441d25
mov eax, dword [ebp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x441cc2
mov eax, dword [ecx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x441cc2
push ecx
push ebp
push 0x2c
pop edx
mov ecx, ebx
call fcn.0043066b
pop ecx
jmp 0x441d22
cmp byte [ebx + 0xc0], 2
mov ecx, edx
jb 0x441cfd
xorps xmm0, xmm0
mov dword [esp + 0x64], ebx
mov edx, ebp
movlpd qword [esp + 0x70], xmm0
lea ecx, [esp + 0x64]
movlpd qword [esp + 0x78], xmm0
mov dword [esp + 0x68], 0x435ca1
mov dword [esp + 0x6c], 0x435cb6
call fcn.0042de5e
mov ecx, dword [ebx]
mov edx, ebp
call fcn.0043094d
mov edx, dword [esp + 0x38]
mov ecx, ebx
call fcn.00430a03
mov ecx, dword [esp + 0x3c]
mov edx, 0x96
push 0x4b5e78
call fcn.0043063c
mov ebp, eax
pop ecx
cmp dword [esp + 0x8c], 0
je 0x441dbe
push 0
lea eax, [esp + 0x48]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x5c]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
mov edx, 0x89
mov ecx, ebx
call fcn.0043066b
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
mov edx, 0x89
mov ecx, ebx
call fcn.0043066b
pop ecx
pop ecx
push eax
push 0x2d
pop edx
mov ecx, ebx
call fcn.0043066b
mov edx, dword [esp + 0x20]
mov ecx, ebx
push eax
call fcn.00430725
add esp, 0xc
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x13]
cmp al, 7
je 0x441e61
cmp al, 0xa
jne 0x441e12
cmp dword [esp + 0x8c], 0
je 0x441e61
push 0
lea eax, [esp + 0x48]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
push 0
lea eax, [esp + 0x5c]
mov ecx, esi
push eax
push 0x3b
pop edx
call fcn.004304f7
pop ecx
pop ecx
push eax
mov edx, 0x89
mov ecx, ebx
call fcn.0043066b
jmp 0x441e3c
mov ecx, esi
push 0
cmp al, 9
jne 0x441e32
mov eax, dword [edi]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x441e32
call fcn.00430de0
jmp 0x441e3d
push 0
push 0x75
pop edx
call fcn.004304f7
pop ecx
mov edx, dword [esp + 0x20]
pop ecx
push eax
mov ecx, ebx
call fcn.00431329
pop ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x1c], eax
push 0
push ecx
mov edx, eax
mov ecx, ebx
call fcn.004314f7
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [edi + 0x14]
jl 0x441bb2
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x441e8c
mov edx, eax
mov ecx, esi
call fcn.0040b163
mov eax, dword [edi]
mov edi, dword [eax]
mov ecx, edi
mov dword [esp + 0x40], edi
call fcn.0040d590
cmp byte [esp + 0x13], 7
mov dword [esp + 0x30], eax
jne 0x441f09
push str.FOREIGN_KEY_constraint_failed
push 0x47
pop edx
mov ecx, esi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
call fcn.0043063c
mov edi, eax
pop ecx
test edi, edi
je 0x441ec8
mov byte [edi + 1], 2
xor eax, eax
xor edx, edx
push eax
push eax
push eax
push eax
push eax
push dword [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.0043cb58
pop ecx
pop ecx
push eax
push edi
xor edx, edx
mov ecx, ebx
call fcn.00431329
pop ecx
mov edx, eax
mov ecx, ebx
call fcn.00448c1d
add esp, 0x1c
mov dword [esp + 0x28], eax
and dword [esp + 0x14], 0
mov eax, dword [esp + 0x30]
inc dword [esi + 0x110]
add eax, 0x51
push 0
push eax
mov ecx, esi
call fcn.0040b2ea
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x441f9e
push dword [esp + 0x30]
lea ebp, [edi + 0x24]
push dword [esp + 0x44]
lea ecx, [ebp + 0x2c]
mov dword [edi + 0x1c], ebp
push ecx
mov dword [ebp + 0xc], ecx
call fcn.004793b0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, esi
push 1
call fcn.00430de0
mov edx, dword [esp + 0x20]
pop ecx
push 1
mov ecx, esi
mov dword [ebp + 0x10], eax
call fcn.00430dfe
mov edx, dword [esp + 0x2c]
pop ecx
push 1
mov ecx, esi
mov dword [ebp + 0x14], eax
call fcn.0043113f
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x1c]
pop ecx
test eax, eax
je 0x441f9e
push 0
push eax
push 0x13
pop edx
mov ecx, ebx
call fcn.0043066b
push 1
mov edx, eax
mov dword [esp + 0x24], eax
mov ecx, esi
call fcn.00430de0
add esp, 0xc
mov dword [edi + 0xc], eax
mov edx, dword [esp + 0x14]
mov ecx, esi
dec dword [esi + 0x110]
call fcn.004309f0
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.004309f0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x441fcb
mov edx, eax
mov ecx, esi
call fcn.00431549
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.00448cf9
cmp byte [esi + 0x51], 1
jne 0x441fea
mov edx, edi
mov ecx, esi
call fcn.00441306
jmp 0x441b7f
mov al, byte [esp + 0x13]
cmp al, 7
je 0x44200c
cmp al, 0xa
jne 0x442006
cmp dword [esp + 0x8c], 0
jne 0x442006
mov byte [ebp], 0x7c
jmp 0x442010
mov byte [ebp], 0x7d
jmp 0x442010
mov byte [ebp], 0x86
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x8c], 0
mov dword [ebp + 4], edi
mov eax, dword [ecx + 0x48]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 0x48]
mov ecx, dword [esp + 0x88]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + eax*4 + 0x1c], edi
setne al
add al, 0x7c
mov byte [edi + 8], al
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret