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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov ecx, dword [ebp + 0xc]
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
test edi, edi
jne 0x4a048f
mov eax, str.NULL
jmp 0x4a04a8
mov al, byte [edi + 0x61]
cmp al, 0x76
je 0x4a04e2
cmp al, 0xba
je 0x4a04a3
cmp al, 0x6d
mov eax, str.invalid
jne 0x4a04a8
mov eax, str.unopened
push eax
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00431e30
add esp, 0xc
push 0x504dd4
push 0x2155b
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00431e30
add esp, 0x14
mov eax, 0x15
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
test ecx, ecx
mov esi, 0x4fb681
cmovne esi, ecx
test eax, eax
je 0x4a04fd
push eax
call dword [0x5131e0]
add esp, 4
mov dword [edi + 0x40], ebx
cmp dword [edi + 0x124], ebx
je 0x4a0513
xor edx, edx
mov ecx, edi
call fcn.00432b80
jmp 0x4a0520
mov dword [edi + 0x44], 0xffffffff
nop word [eax + eax]
cmp byte [esi], 0
je 0x4a08b8
lea eax, [esp + 0x2c]
xor ebx, ebx
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x24], ebx
push eax
push ebx
push 0x80
push 0xffffffffffffffff
mov edx, esi
mov dword [esp + 0x38], ebx
mov ecx, edi
mov dword [esp + 0x3c], ebx
call fcn.004a9cb0
mov edi, dword [esp + 0x3c]
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4a0887
test edi, edi
jne 0x4a0574
mov esi, dword [esp + 0x2c]
mov ebx, eax
mov edi, dword [ebp + 8]
jmp 0x4a0520
xor esi, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], esi
nop
push edi
call fcn.0045e5d0
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [ebp + 0x10], 0
je 0x4a07e0
cmp eax, 0x64
je 0x4a05c6
cmp eax, 0x65
jne 0x4a07e9
cmp dword [esp + 0x28], 0
jne 0x4a07e9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
and eax, 0x100
or eax, 0
je 0x4a07e9
jmp 0x4a05cd
cmp dword [esp + 0x28], 0
jne 0x4a0638
movzx ebx, word [edi + 0x90]
mov ecx, dword [ebp + 8]
push 0
mov dword [esp + 0x24], ebx
lea eax, [ebx*8 + 4]
push eax
call fcn.0042f570
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x4a0889
xor esi, esi
test ebx, ebx
je 0x4a061d
push 0
push 0
mov edx, esi
mov ecx, edi
call fcn.0045f6a0
mov ecx, dword [esp + 0x20]
add esp, 8
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4a0601
cmp dword [esp + 0x14], 0x64
mov esi, dword [esp + 0x18]
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], 1
jne 0x4a07c8
lea ecx, [esi + ebx*4]
xor ebx, ebx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x20], ebx
jle 0x4a07bb
xor edx, edx
mov dword [esp + 0x1c], edx
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a0668
push eax
call dword [0x5131e0]
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x4a0686
movzx eax, word [edi + 0x90]
cmp ebx, eax
jge 0x4a0686
test ebx, ebx
js 0x4a0686
add ecx, edx
jne 0x4a069e
xor esi, esi
jmp 0x4a06cd
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.00432b80
mov ecx, 0x506c70
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x4a06bb
cmp byte [ecx + 0x12], 1
jne 0x4a06bb
mov esi, dword [ecx + 8]
jmp 0x4a06cd
test dl, 1
je 0x4a06c4
xor esi, esi
jmp 0x4a06cd
mov dl, 1
call fcn.00457440
mov esi, eax
mov ecx, dword [edi]
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x4a06e0
test edx, edx
jne 0x4a06e0
xor eax, eax
jmp 0x4a06e5
call fcn.0042f920
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a06fb
push eax
call dword [0x5131e8]
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [ecx + ebx*4], esi
test esi, esi
jne 0x4a07a1
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a071d
push eax
call dword [0x5131e0]
add esp, 4
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x4a073b
movzx eax, word [edi + 0x90]
cmp ebx, eax
jge 0x4a073b
test ebx, ebx
js 0x4a073b
mov eax, dword [esp + 0x1c]
add eax, ecx
jmp 0x4a0753
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.00432b80
mov eax, 0x506c70
movzx eax, word [eax + 0x10]
mov ecx, dword [edi]
and eax, 0x3f
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
mov al, byte [eax + 0x509c50]
mov byte [esp + 0x13], al
jne 0x4a0777
test edx, edx
jne 0x4a0777
xor eax, eax
jmp 0x4a077c
call fcn.0042f920
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a0792
push eax
call dword [0x5131e8]
add esp, 4
cmp byte [esp + 0x13], 5
jne 0x4a084c
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
inc ebx
add edx, 0x28
mov dword [esp + 0x1c], edx
cmp ebx, dword [esp + 0x20]
jl 0x4a0651
mov esi, dword [esp + 0x18]
mov dword [ecx + ebx*4], 0
mov ebx, dword [esp + 0x20]
jmp 0x4a07cc
mov ecx, dword [esp + 0x24]
push esi
push ecx
push ebx
push dword [ebp + 0x14]
call dword [ebp + 0x10]
add esp, 0x10
test eax, eax
jne 0x4a085a
mov eax, dword [esp + 0x14]
cmp eax, 0x64
je 0x4a0580
xor ebx, ebx
cmp byte [edi + 0x97], 1
mov dword [esp + 0x14], ebx
jb 0x4a0805
mov ecx, edi
call fcn.0045ad60
mov ebx, eax
mov dword [esp + 0x14], eax
mov ecx, edi
call fcn.0045ae40
mov esi, dword [esp + 0x2c]
xor edi, edi
movzx eax, byte [esi]
test byte [eax + 0x506118], 1
je 0x4a082e
nop
movzx eax, byte [esi + 1]
inc esi
test byte [eax + 0x506118], 1
jne 0x4a0820
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4a0840
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0042f0e0
test ebx, ebx
jne 0x4a0887
mov edi, dword [ebp + 8]
jmp 0x4a0520
mov ecx, dword [ebp + 8]
call fcn.0042f840
mov esi, dword [esp + 0x18]
jmp 0x4a0889
cmp byte [edi + 0x97], 1
mov ebx, 4
jb 0x4a086f
mov ecx, edi
call fcn.0045ad60
mov ecx, edi
call fcn.0045ae40
mov edi, dword [ebp + 8]
mov edx, ebx
mov ecx, edi
mov dword [edi + 0x40], ebx
call fcn.00432b80
jmp 0x4a08ab
xor esi, esi
test edi, edi
je 0x4a08a4
cmp byte [edi + 0x97], 1
jb 0x4a089d
mov ecx, edi
call fcn.0045ad60
mov ecx, edi
call fcn.0045ae40
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
test esi, esi
je 0x4a08b8
mov edx, esi
mov ecx, edi
call fcn.0042f0e0
cmp byte [edi + 0x57], 0
jne 0x4a08eb
test ebx, ebx
jne 0x4a08eb
xor esi, esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4a08d1
mov dword [eax], 0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4a08e2
push eax
call dword [0x5131e8]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, ebx
mov ecx, edi
call fcn.0042f920
mov esi, eax
test esi, esi
je 0x4a08c4
cmp dword [ebp + 0x18], 0
je 0x4a08d1
push edi
call fcn.004e63e0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4a0916
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
jmp 0x4a095f
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a0920
sub ecx, edx
push 0
lea eax, [ecx + 1]
push eax
mov dword [esp + 0x34], eax
call fcn.0042ee10
mov edi, eax
add esp, 8
test edi, edi
je 0x4a094f
push dword [esp + 0x2c]
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x18]
test edi, edi
mov dword [eax], edi
mov edi, dword [ebp + 8]
jne 0x4a08d1
mov esi, 7
mov ecx, edi
mov edx, esi
mov dword [edi + 0x40], esi
call fcn.00432b80
jmp 0x4a08d1