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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
xor esi, esi
mov dword [esp + 0xc], ebx
xor eax, eax
mov dword [esp + 0x20], ecx
test edi, edi
jns 0x4ef43b
cmp dword [ecx + 0x104], eax
je 0x4ef43b
cmp dword [ecx + 0x118], ebx
jne 0x4ef43b
mov dword [esp + 0x14], eax
cmp dword [ebp + 0x18], eax
jne 0x4ef3ae
cmp dword [ebp + 0x1c], eax
je 0x4ef3b3
mov eax, 1
lea edx, [esp + 0x14]
push edx
mov edx, dword [ebp + 8]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.004fcc80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4ef437
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4ef433
mov edx, dword [ebp + 0x20]
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x4ef3ee
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x4ef426
mov eax, dword [edx]
mov dword [esp + 0x18], eax
call fcn.004e4f50
test eax, eax
jne 0x4ef4e9
mov ecx, dword [esp + 0x18]
lea eax, [esi*4 + 0x40]
push 0
push eax
call fcn.0043b4b0
add esp, 8
test eax, eax
je 0x4ef4e9
mov edx, dword [ebp + 0x20]
mov dword [edx], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], ebx
inc dword [edx + 4]
xor esi, esi
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp edi, 0xffffffff
je 0x4efd03
test esi, esi
jne 0x4efd03
mov dword [esp + 0x10], esi
lea eax, [esp + 0x10]
push esi
push eax
test edi, edi
jns 0x4ef4fa
lea edx, [esi + 0xd]
call fcn.004fa580
mov esi, eax
add esp, 8
test esi, esi
jne 0x4ef550
mov ecx, dword [esp + 0x20]
mov eax, ebx
mov ebx, dword [esp + 0x10]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld ecx, esi, 0xa
shl esi, 0xa
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push ebx
call fcn.00467fa0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
shld ecx, esi, 0xa
imul edx
shl esi, 0xa
add esi, eax
adc ecx, edx
add esi, 0x3ff
adc ecx, 0
push ecx
push esi
push 2
push ebx
call fcn.00467fa0
add esp, 0x20
mov dword [esp + 0x10], ebx
jmp 0x4ef562
mov ecx, ebx
call fcn.004fc940
mov esi, 7
jmp 0x4ef433
mov edx, 0xc
call fcn.004fa580
mov esi, eax
add esp, 8
test esi, esi
jne 0x4ef550
mov ecx, dword [esp + 0x20]
mov eax, ebx
mov ebx, dword [esp + 0x10]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld ecx, esi, 0xa
shl esi, 0xa
add esi, eax
mov eax, edi
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push ebx
call fcn.00467fa0
add esp, 0x10
mov dword [esp + 0x10], ebx
jmp 0x4ef562
mov ebx, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x10], edi
test esi, esi
jne 0x4efcbc
xor edi, edi
test ebx, ebx
je 0x4efccf
cmp dword [ebx], edi
jne 0x4ef584
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0043e300
add esp, 8
lea eax, [edi + 1]
jmp 0x4ef586
xor eax, eax
test eax, eax
jne 0x4efcde
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef5a5
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, ebx
call fcn.00466700
mov esi, eax
cmp esi, 0x11
jne 0x4ef7c2
mov eax, edi
inc edi
mov dword [esp + 0x14], edi
cmp eax, 0x32
jge 0x4ef7c2
mov eax, dword [ebx + 0x20]
lea ecx, [esp + 0x44]
mov esi, dword [ebx]
mov edx, dword [ebx + 0xc8]
push 0
push ecx
mov dword [esp + 0x20], eax
mov ecx, esi
movzx eax, byte [ebx + 0x94]
push ebx
push eax
push 0xffffffffffffffff
call fcn.004adf50
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4ef6f8
mov esi, dword [esp + 0x44]
lea edi, [esp + 0x48]
mov ecx, 0x3a
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x44]
mov ecx, 0x3a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3a
lea esi, [esp + 0x48]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x44]
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0xc8]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xc8], eax
mov dword [ebx + 0xc8], ecx
mov ecx, esi
mov eax, dword [esi + 0xdc]
mov dword [ebx + 0xdc], eax
mov al, byte [esi + 0x94]
mov byte [ebx + 0x94], al
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [ebx + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [ebx + 0xb4], xmm0
mov eax, dword [esi + 0xc4]
mov dword [ebx + 0xc4], eax
inc dword [ebx + 0xb8]
call fcn.00468840
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x4ef6bf
mov ecx, esi
call fcn.00463720
mov ecx, esi
call fcn.00463800
push ebx
call fcn.00465900
add esp, 4
cmp dword [esp + 0x18], 0
jl 0x4ef6dd
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.00466700
mov esi, eax
cmp esi, 0x11
jne 0x4ef7c2
mov edi, dword [esp + 0x14]
jmp 0x4ef5b7
cmp edi, 7
jne 0x4ef704
mov ecx, esi
call fcn.0043ba90
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x4ef716
xor esi, esi
jmp 0x4ef749
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x4ef733
cmp byte [ecx + 0x12], 1
jne 0x4ef733
mov esi, dword [ecx + 8]
jmp 0x4ef745
test dl, 1
je 0x4ef73c
xor esi, esi
jmp 0x4ef745
mov dl, 1
call fcn.00460000
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x4ef757
mov ecx, eax
call fcn.0043b330
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x4ef815
test esi, esi
jne 0x4ef76d
xor eax, eax
jmp 0x4ef7af
mov ecx, esi
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ef776
sub ecx, dword [esp + 0x18]
push 0
lea eax, [ecx + 1]
mov ecx, edx
push eax
mov dword [esp + 0x20], eax
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4ef7af
push dword [esp + 0x18]
push esi
push eax
call fcn.00570750
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.0043bb70
mov esi, eax
mov dword [ebx + 0x24], esi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4ef7d7
push eax
call dword [0x5dac88]
add esp, 4
cmp esi, 0x64
jne 0x4efcb8
mov eax, dword [ebx]
mov dword [esp + 0x14], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef7fb
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x4ef826
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x4ef826
add ecx, 0x28
jmp 0x4ef83e
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x4ef7c6
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x4ef84d
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x4ef886
test al, 8
je 0x4ef860
movsd xmm0, qword [ecx]
call fcn.0045f320
mov esi, eax
mov edi, edx
jmp 0x4ef886
test al, 0x12
je 0x4ef875
cmp dword [ecx + 8], 0
je 0x4ef875
call fcn.0045f350
mov esi, eax
mov edi, edx
jmp 0x4ef886
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 0x24], edi
cmp byte [ecx + 0x57], 0
jne 0x4ef8a1
test edx, edx
jne 0x4ef8a1
xor eax, eax
jmp 0x4ef8a6
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef8bc
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef8d7
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x4ef8f1
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x4ef8f1
add ecx, 0x50
jmp 0x4ef909
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x4ef918
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x4ef951
test al, 8
je 0x4ef92b
movsd xmm0, qword [ecx]
call fcn.0045f320
mov esi, eax
mov edi, edx
jmp 0x4ef951
test al, 0x12
je 0x4ef940
cmp dword [ecx + 8], 0
je 0x4ef940
call fcn.0045f350
mov esi, eax
mov edi, edx
jmp 0x4ef951
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x4ef964
test edx, edx
jne 0x4ef964
xor eax, eax
jmp 0x4ef969
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef97f
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4ef99a
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x4ef9b4
mov eax, 3
cmp ax, word [ebx + 0x90]
jae 0x4ef9b4
add ecx, 0x78
jmp 0x4ef9cc
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x4ef9df
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x28], esi
jmp 0x4efa1c
test al, 8
je 0x4ef9f2
movsd xmm0, qword [ecx]
call fcn.0045f320
mov dword [esp + 0x28], edx
jmp 0x4efa1c
test al, 0x12
je 0x4efa07
cmp dword [ecx + 8], 0
je 0x4efa07
call fcn.0045f350
mov dword [esp + 0x28], edx
jmp 0x4efa1c
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x2c], eax
cmp byte [ecx + 0x57], 0
jne 0x4efa33
test edx, edx
jne 0x4efa33
xor eax, eax
jmp 0x4efa38
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4efa4e
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4efa61
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x4efa7e
cmp si, word [ebx + 0x90]
jae 0x4efa7e
add ecx, 0xa0
jmp 0x4efa96
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 2
je 0x4efaa9
cmp byte [ecx + 0x12], 1
jne 0x4efaa9
mov edi, dword [ecx + 0xc]
jmp 0x4efad2
test al, 0x10
je 0x4efac1
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x4efabd
mov edi, dword [ecx]
add edi, edx
jmp 0x4efad2
mov edi, edx
jmp 0x4efad2
test al, 1
je 0x4efac9
xor edi, edi
jmp 0x4efad2
mov dl, 1
call fcn.004606b0
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x4efae5
test edx, edx
jne 0x4efae5
xor eax, eax
jmp 0x4efaea
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4efb00
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4efb13
push eax
call dword [0x5dac80]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x4efb2a
cmp si, word [ebx + 0x90]
jae 0x4efb2a
add eax, 0xa0
jmp 0x4efb42
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov eax, 0x5b3788
push eax
call fcn.00465a70
mov ecx, dword [ebx]
add esp, 4
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x18], eax
cmp byte [ecx + 0x57], 0
jne 0x4efb62
test edx, edx
jne 0x4efb62
xor eax, eax
jmp 0x4efb67
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4efb7d
push eax
call dword [0x5dac88]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, ecx
mov esi, dword [esp + 0x24]
or eax, esi
je 0x4efc8c
cmp dword [ebp + 0x10], 0
je 0x4efc8c
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4efc8c
xor ecx, ecx
lea eax, [esp + 0x38]
cmp dword [ebp + 0x18], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
push edi
push edx
push dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
call fcn.004ed8c0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4efcb8
cmp dword [ebp + 0x18], eax
jne 0x4efbf4
cmp dword [ebp + 0x1c], eax
jne 0x4efbf4
mov ecx, dword [esp + 0x30]
lea edx, [eax + 1]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
jmp 0x4efbfe
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
xor edx, edx
lea eax, [esp + 0x14]
push eax
push edi
push dword [esp + 0x20]
mov edi, dword [ebp + 0x20]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x50]
push dword [esp + 0x50]
push esi
push ecx
mov ecx, dword [edi + 4]
inc ecx
call fcn.004fcad0
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x4efcb8
mov esi, dword [edi + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x4efc46
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x4efc70
mov edi, dword [edi]
call fcn.004e4f50
test eax, eax
jne 0x4efcaa
lea eax, [esi*4 + 0x40]
mov ecx, edi
push 0
push eax
call fcn.0043b4b0
add esp, 8
test eax, eax
je 0x4efcaa
mov edi, dword [ebp + 0x20]
mov dword [edi], eax
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov eax, dword [esp + 0x14]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x10]
inc dword [edi + 4]
mov dword [esp + 0x10], eax
jmp 0x4ef562
cmp dword [ebp + 0x18], 0
jne 0x4efbfc
cmp dword [ebp + 0x1c], 0
jne 0x4efbfc
mov edx, 1
jmp 0x4efbfe
mov ecx, dword [esp + 0x14]
call fcn.004fc940
mov esi, 7
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x4efd07
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.0043e300
add esp, 8
push 0x5cad1c
push 0x15841
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0043e300
add esp, 0x14
mov esi, 0x15
jmp 0x4efcb8
xor edi, edi
jmp 0x4efcbc
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4efd1a
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x4efd37
jg 0x4efd2e
cmp dword [edi + 0x88], 0
jbe 0x4efd37
mov edx, edi
mov ecx, ebx
call fcn.00465760
mov ecx, edi
call fcn.00463720
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [ebx + 0x57], 0
jne 0x4efd94
test eax, eax
jne 0x4efd94
xor edi, edi
jmp 0x4efd9f
mov edx, eax
mov ecx, ebx
call fcn.0043bb70
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4efdb0
push eax
call dword [0x5dac88]
add esp, 4
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret