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

Disassembly:
sub esp, 0x54
mov eax, dword [esp + 0x60]
xor ecx, ecx
cmp dword [esp + 0x64], ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x68]
setne cl
mov dword [esp + 0x38], ecx
xor ebx, ebx
mov ebp, dword [edi]
movzx edx, byte [ecx + eax + 0x19]
mov eax, ebx
mov dword [esp + 0x20], edx
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x20]
and ecx, 8
or eax, ecx
je 0x541d66
mov edx, ebx
mov dword [esp + 0x20], edx
jmp 0x541d79
cmp edx, 7
jne 0x541d79
and esi, 0x80000
mov dword [esp + 0x20], edx
or esi, ebx
jne 0x541dcf
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x38]
mov esi, dword [eax + esi*4 + 0x1c]
test edx, edx
je 0x5422ed
test esi, esi
jne 0x5422ed
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], ebx
push ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], ebx
push ecx
push eax
push dword [esp + 0x78]
mov esi, ebx
mov dword [esp + 0x24], ebx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], ebx
call fcn.0056722f
add esp, 0x14
test eax, eax
je 0x541dd6
xor eax, eax
jmp 0x5422ef
mov eax, dword [esp + 0x70]
mov ecx, ebx
mov dword [esp + 0x34], ebx
cmp dword [eax + 0x14], ebx
jle 0x5420c5
push 3
pop edx
mov dword [esp + 0x4c], 0x65b504
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x65b500
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
test edx, edx
je 0x541e15
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x24], eax
jmp 0x541e1c
mov edx, dword [eax + 0x24]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x541e2d
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx*2]
jmp 0x541e35
mov eax, dword [esp + 0x6c]
movzx eax, word [eax + 0x20]
movsx ecx, ax
mov eax, dword [esp + 0x6c]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
mov dword [esp + 0x48], eax
call fcn.00578223
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
shl ecx, 4
mov dword [esp + 0x28], ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax]
push eax
mov dword [esp + 0x64], eax
call fcn.00578223
mov dword [esp + 0x68], eax
lea eax, [esp + 0x64]
push ebx
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x18
push eax
push ebx
lea eax, [esp + 0x4c]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push ebx
lea eax, [esp + 0x58]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push 0x8d
push edi
call fcn.0056da79
add esp, 0x10
push eax
push 0x35
push edi
call fcn.0056da79
mov ecx, dword [esp + 0x20]
mov edx, eax
mov eax, dword [edi]
add esp, 0x10
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
test ecx, ecx
jne 0x541ee1
mov dword [esp + 0x10], edx
jmp 0x541f3a
test edx, edx
je 0x541f3a
mov eax, dword [edx + 4]
or eax, dword [ecx + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x541f29
cmp byte [edi + 0xdc], 2
jae 0x541f29
push ecx
push edi
call fcn.00564838
push dword [esp + 0x44]
push edi
call fcn.00564838
push 0x65a844
push 0x9b
push dword [esp + 0x58]
call fcn.0056226d
add esp, 0x1c
jmp 0x541f36
push edx
push ecx
push 0x2c
push edi
call fcn.0056da79
add esp, 0x10
mov dword [esp + 0x10], eax
cmp dword [esp + 0x74], ebx
je 0x541fc4
push ebx
lea eax, [esp + 0x48]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push ebx
lea eax, [esp + 0x5c]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push 0x8d
push edi
call fcn.0056da79
add esp, 0x10
push eax
push ebx
lea eax, [esp + 0x4c]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push ebx
lea eax, [esp + 0x58]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push 0x8d
push edi
call fcn.0056da79
add esp, 0x10
push eax
push 0x2d
push edi
call fcn.0056da79
push eax
push dword [esp + 0x2c]
push edi
call fcn.005625c7
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp eax, 7
je 0x5420af
cmp eax, 0xa
jne 0x542011
cmp dword [esp + 0x74], ebx
je 0x5420af
push ebx
lea eax, [esp + 0x48]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push ebx
lea eax, [esp + 0x5c]
push eax
push 0x3b
push ebp
call fcn.0056242d
add esp, 0x10
push eax
push 0x8d
push edi
call fcn.0056da79
jmp 0x54204d
cmp eax, 9
jne 0x542043
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
add eax, dword [esp + 0x24]
test byte [eax + 0xe], 0x60
jne 0x542043
push eax
push ecx
call fcn.0055e30b
pop ecx
pop ecx
test eax, eax
je 0x542043
push ebx
push eax
push ebp
call fcn.005648df
add esp, 0xc
jmp 0x542050
push ebx
push ebx
push 0x79
push ebp
call fcn.0056242d
add esp, 0x10
mov edx, eax
test esi, esi
jne 0x542068
push edx
push dword [edi]
call fcn.00565453
pop ecx
pop ecx
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x54209f
mov eax, dword [esi]
lea ecx, [eax + 1]
cmp dword [esi + 4], ecx
jge 0x542080
push edx
push esi
push dword [edi]
call fcn.005653de
add esp, 0xc
jmp 0x542060
imul eax, eax, 0x14
mov dword [esi], ecx
push 5
pop ecx
add eax, esi
mov esi, 0x656ac8
lea edi, [eax + 8]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x1c]
mov dword [eax + 8], edx
push ebx
lea eax, [esp + 0x60]
push eax
push esi
push edi
call fcn.005657af
add esp, 0x10
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x70]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [eax + 0x14]
jl 0x541e04
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5420d6
push eax
push ebp
call fcn.00560283
pop ecx
pop ecx
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov dword [esp + 0x38], eax
call fcn.00578223
cmp dword [esp + 0x24], 7
pop ecx
mov dword [esp + 0x68], eax
jne 0x542183
mov eax, dword [esp + 0x6c]
push dword [eax + 0x3c]
push ebp
call fcn.0057526e
push str.FOREIGN_KEY_constraint_failed
push 0x47
push ebp
mov dword [esp + 0x54], eax
call fcn.0056226d
add esp, 0x14
mov dword [esp + 0x3c], eax
test eax, eax
je 0x542125
mov byte [eax + 1], 2
push ebx
push ebx
push ebx
push edi
call fcn.005773aa
mov esi, eax
add esp, 0x10
test esi, esi
je 0x54215c
push dword [esp + 0x34]
push ebp
call fcn.005605e0
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x10], eax
add ecx, ecx
mov eax, dword [ebp + 0x10]
push dword [eax + ecx*8]
push ebp
call fcn.005605e0
add esp, 0x10
mov dword [esi + 0xc], eax
push dword [esp + 0x3c]
push dword [edi]
call fcn.00565453
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [esp + 0x2c]
push esi
push eax
push edi
call fcn.00577054
add esp, 0x2c
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ebx
inc dword [ebp + 0x130]
xor eax, eax
mov word [ebp + 0x134], ax
mov eax, dword [esp + 0x68]
add eax, 0x55
push ebx
push eax
push ebp
call fcn.00560434
mov esi, eax
add esp, 0xc
test esi, esi
je 0x542229
push dword [esp + 0x68]
lea eax, [esi + 0x24]
push dword [esp + 0x38]
lea ecx, [eax + 0x30]
mov dword [esp + 0x1c], eax
push ecx
mov dword [esi + 0x1c], eax
mov dword [eax + 0xc], ecx
call sub.VCRUNTIME140.dll_memcpy
push 1
push dword [esp + 0x20]
push ebp
call fcn.005648df
mov ecx, dword [esp + 0x2c]
push 1
push dword [esp + 0x38]
push ebp
mov dword [ecx + 0x14], eax
call fcn.0056565a
mov ecx, dword [esp + 0x38]
push 1
push dword [esp + 0x54]
push ebp
mov dword [ecx + 0x18], eax
call fcn.00576e1f
mov ecx, dword [esp + 0x44]
add esp, 0x30
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x542229
push ebx
push eax
push 0x13
push edi
call fcn.0056da79
mov edi, eax
push 1
push edi
push ebp
call fcn.005648df
add esp, 0x1c
mov dword [esi + 0xc], eax
jmp 0x54222d
mov edi, dword [esp + 0x18]
sub dword [ebp + 0x130], 1
jne 0x54223d
movzx ebx, word [ebp + 0x136]
mov eax, dword [esp + 0x10]
mov word [ebp + 0x134], bx
test eax, eax
je 0x542255
push eax
push ebp
call fcn.0056485a
pop ecx
pop ecx
test edi, edi
je 0x542262
push edi
push ebp
call fcn.0056485a
pop ecx
pop ecx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x542273
push eax
push ebp
call fcn.005408da
pop ecx
pop ecx
push dword [esp + 0x2c]
push ebp
call fcn.00576de5
cmp byte [ebp + 0x57], 1
pop ecx
pop ecx
jne 0x542293
push esi
push ebp
call fcn.00542a10
pop ecx
pop ecx
jmp 0x541dcf
mov eax, dword [esp + 0x20]
cmp eax, 7
je 0x5422ba
cmp eax, 0xa
jne 0x5422b1
cmp dword [esp + 0x74], 0
jne 0x5422b1
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x80
jmp 0x5422c1
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x81
jmp 0x5422c1
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x8a
cmp dword [esp + 0x74], 0
mov dword [ecx + 4], esi
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 0x3c]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [eax + ecx*4 + 0x1c], esi
setne al
sub al, 0x80
mov byte [esi + 8], al
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret