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

Disassembly:
sub esp, 0x2c
push esi
mov esi, eax
test esi, esi
mov dword [esp + 0x18], 0
jne 0x443237
pop esi
add esp, 0x2c
ret
push ebp
mov ebp, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x3c]
push ebp
mov eax, edi
call fcn.004101a0
add esp, 4
test eax, eax
jne 0x4432bd
test byte [ebp + 0x22], 0x10
jne 0x4432bd
mov eax, dword [esp + 0x44]
cmp eax, 0x63
jne 0x443269
mov dword [esp + 0x44], 2
jmp 0x443273
cmp eax, 2
je 0x443273
cmp eax, 1
jne 0x4432bd
mov eax, dword [esi + 8]
cmp word [eax], 1
jne 0x4432bd
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x4432bd
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x4432bd
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x4432bd
mov ecx, dword [esi + 0x10]
test ecx, ecx
jne 0x4432bd
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x4432bd
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jne 0x4432bd
test byte [esi + 6], 1
jne 0x4432bd
mov esi, dword [esi]
cmp dword [esi], 1
jne 0x4432bd
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
cmp byte [edx], 0x71
je 0x4432c6
pop edi
pop ebp
xor eax, eax
pop esi
add esp, 0x2c
ret
mov esi, dword [eax + 8]
push ebx
mov ebx, dword [eax + 0xc]
push 0
mov eax, edi
call fcn.00442730
mov ecx, eax
add esp, 4
test ecx, ecx
mov dword [esp + 0x14], ecx
je 0x443744
cmp ecx, ebp
je 0x443744
test byte [ecx + 0x22], 0x10
jne 0x443744
mov eax, dword [ecx + 0x1c]
test eax, eax
jne 0x443744
mov ebp, dword [ebp + 0xc]
cmp ebp, dword [ecx + 0xc]
jne 0x443744
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 8]
cmp edx, dword [ecx + 8]
jne 0x443744
xor ebx, ebx
test ebp, ebp
jle 0x443378
mov esi, dword [eax + 0x10]
mov edi, dword [ecx + 0x10]
add esi, 0x10
add edi, 0x10
mov al, byte [esi + 6]
cmp al, byte [edi + 6]
jne 0x443744
mov edx, dword [edi]
mov ecx, dword [esi]
call fcn.0040f9c0
test eax, eax
je 0x443744
mov al, byte [esi + 4]
test al, al
je 0x443361
mov al, byte [edi + 4]
test al, al
je 0x443744
inc ebx
add esi, 0x18
add edi, 0x18
cmp ebx, ebp
jl 0x443332
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x4433d3
mov esi, dword [ecx + 0x14]
mov al, byte [ebx + 0x18]
test al, al
je 0x443391
mov dword [esp + 0x24], 1
mov edi, esi
test edi, edi
je 0x443744
jmp 0x4433a0
call fcn.0040f9e0
test eax, eax
jne 0x4433b8
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x4433a0
pop ebx
pop edi
pop ebp
pop esi
add esp, 0x2c
ret
test edi, edi
je 0x443744
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x443382
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4433f3
mov ecx, dword [ecx + 0x2c]
push eax
push ecx
call fcn.00415fe0
add esp, 8
test eax, eax
jne 0x443744
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x44]
mov ecx, dword [edi]
call fcn.0040fc30
mov esi, eax
mov dword [esp + 0x28], esi
call fcn.0041c720
mov ebx, dword [esp + 0x40]
mov ebp, eax
mov eax, ebx
call fcn.0042cd30
mov edi, dword [ebx + 0x44]
mov eax, dword [esp + 0x4c]
lea esi, [edi + 1]
lea edx, [esi + 1]
mov dword [ebx + 0x44], edx
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], esi
call fcn.00416af0
mov ecx, dword [esp + 0x50]
push 0x27
push ecx
push esi
mov esi, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, ebx
call fcn.004215c0
mov eax, esi
mov ecx, dword [eax + 8]
add esp, 0x10
test ecx, ecx
jge 0x443467
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x44346f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4434a2
mov ecx, dword [esp + 0x10]
push ebp
xor eax, eax
mov edx, 0x41
call fcn.00414e70
mov esi, eax
push ebp
xor eax, eax
xor ecx, ecx
mov edx, 1
call fcn.00414e70
push esi
mov ecx, ebp
mov dword [esp + 0x38], eax
call fcn.0040d680
add esp, 0xc
jmp 0x4434aa
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
push 0x26
push edx
push edi
mov eax, ebx
call fcn.004215c0
push ebp
xor eax, eax
mov ecx, edi
mov edx, 0x41
call fcn.00414e70
mov dword [esp + 0x48], eax
add esp, 0x10
mov eax, ebx
call fcn.0040ec00
mov dword [esp + 0x1c], eax
mov eax, ebx
call fcn.0040ec00
mov esi, eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
test ecx, ecx
mov dword [esp + 0x24], esi
push ebp
jl 0x443555
mov eax, esi
mov ecx, edi
mov edx, 0x3d
call fcn.00414e70
push esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
push 0
push eax
push 0x34
mov eax, ebp
call fcn.00414dd0
mov esi, dword [esp + 0x5c]
push 0xfffffffffffffffe
push str.PRIMARY_KEY_must_be_unique
mov dword [esp + 0x4c], eax
call fcn.00420ee0
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, ebp
call fcn.0040d680
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x60]
push edx
call fcn.00416b60
mov esi, dword [esp + 0x48]
add esp, 0x24
jmp 0x44357c
mov ecx, dword [eax + 0x14]
test ecx, ecx
mov eax, esi
jne 0x443569
mov ecx, dword [esp + 0x14]
mov edx, 0x36
jmp 0x443570
mov ecx, edi
mov edx, 0x3d
call fcn.00414e70
add esp, 4
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x1c]
push ebp
mov eax, ebx
mov ecx, edi
mov edx, 0x3c
call fcn.00414e70
mov eax, dword [esp + 0x14]
push esi
push ebx
push eax
push 0x37
mov eax, ebp
call fcn.00414dd0
mov dl, 0xb
mov eax, ebp
call fcn.0040d660
mov ebx, dword [esp + 0x58]
mov edx, dword [ebx + 4]
push ebp
xor ecx, ecx
or eax, 0xffffffff
call fcn.00415110
mov eax, dword [esp + 0x38]
push ebp
mov ecx, edi
mov edx, 0x43
call fcn.00414e70
mov ebx, dword [ebx + 0x14]
add esp, 0x1c
test ebx, ebx
je 0x4436d0
lea esp, [esp]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x14]
test esi, esi
je 0x443606
jmp 0x4435f0
mov edi, esi
call fcn.0040f9e0
test eax, eax
jne 0x443602
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4435f0
mov edi, dword [esp + 0x18]
push ebp
xor eax, eax
mov ecx, edi
mov edx, 0x2b
call fcn.00414e70
mov ecx, dword [esp + 0x14]
push ebp
xor eax, eax
mov edx, 0x2b
call fcn.00414e70
mov edx, dword [esp + 0x48]
push esi
push edx
call fcn.00430960
mov ecx, dword [esi + 0x14]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x40]
mov edx, edi
push 0x26
mov edi, ebp
call fcn.004197c0
mov eax, dword [esp + 0x5c]
push ebx
push eax
call fcn.00430960
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x34]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x78]
push 0x27
call fcn.004197c0
mov esi, dword [esp + 0x48]
push ebp
xor eax, eax
mov ecx, esi
mov edx, 0x41
call fcn.00414e70
mov edi, eax
mov eax, dword [esp + 0x50]
push ebp
mov ecx, esi
mov edx, 0x3b
call fcn.00414e70
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
push 1
push ecx
push edx
push 0x46
mov eax, ebp
call fcn.00414dd0
add esp, 0x48
lea eax, [edi + 1]
push ebp
mov ecx, esi
mov edx, 0x43
call fcn.00414e70
push edi
mov ecx, ebp
call fcn.0040d680
mov ebx, dword [ebx + 0x20]
add esp, 8
test ebx, ebx
mov edi, esi
jne 0x4435e0
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
push eax
mov ecx, ebp
call fcn.0040d680
mov edx, dword [esp + 0x44]
call fcn.0040ec20
mov esi, dword [esp + 0x20]
call fcn.0040ec20
push ebp
xor eax, eax
mov ecx, edi
mov edx, 0x2b
call fcn.00414e70
mov edi, dword [esp + 0x18]
push ebp
xor eax, eax
mov ecx, edi
mov edx, 0x2b
call fcn.00414e70
mov esi, dword [esp + 0x38]
add esp, 0xc
test esi, esi
je 0x44374e
push ebp
xor eax, eax
xor ecx, ecx
mov edx, 6
call fcn.00414e70
push esi
mov ecx, ebp
call fcn.0040d680
push ebp
xor eax, eax
mov ecx, edi
mov edx, 0x2b
call fcn.00414e70
add esp, 0xc
pop ebx
pop edi
pop ebp
xor eax, eax
pop esi
add esp, 0x2c
ret
pop ebx
pop edi
pop ebp
mov eax, 1
pop esi
add esp, 0x2c
ret