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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x114
push ebx
mov eax, ecx
mov dword [esp + 0x1c], edx
push esi
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ebx
push edi
mov edi, dword [ebp + 8]
test edx, edx
jne 0x10120c16
lea ecx, [esp + 0x14]
push ebx
push ecx
lea edx, [ebx + 2]
mov ecx, eax
call fcn.10120010
add esp, 8
test eax, eax
jne 0x10120fd9
mov ebx, dword [esp + 0x14]
push esi
push edi
push 1
push ebx
call fcn.1004b120
add esp, 0x10
xor edi, edi
test ebx, ebx
jne 0x101208a6
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
jmp 0x101208c6
cmp dword [ebx], edi
jne 0x101208c0
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
mov eax, 1
jmp 0x101208c2
xor eax, eax
test eax, eax
je 0x101208e9
push 0x10156d84
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021490
add esp, 0x14
jmp 0x10120b3a
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120900
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x10120b1c
mov ecx, edi
inc edi
mov dword [esp + 0x20], edi
cmp ecx, 0x32
jge 0x10120b1c
mov eax, dword [ebx + 0x20]
lea ecx, [esp + 0x14]
mov esi, dword [ebx]
mov edx, dword [ebx + 0xc8]
push 0
push ecx
mov dword [esp + 0x24], eax
mov ecx, esi
movzx eax, byte [ebx + 0x94]
push ebx
push eax
push 0xffffffffffffffff
call fcn.100931a0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x10120a53
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x38]
mov ecx, 0x3a
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
mov ecx, 0x3a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3a
lea esi, [esp + 0x38]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
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.1004b9c0
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x10120a1a
mov ecx, esi
call fcn.10046900
mov ecx, esi
call fcn.100469e0
push ebx
call fcn.10048b40
add esp, 4
cmp dword [esp + 0x1c], 0
jl 0x10120a38
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x10120b1c
mov edi, dword [esp + 0x20]
jmp 0x10120912
cmp edi, 7
jne 0x10120a5f
mov ecx, esi
call fcn.1001eb60
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x10120a71
xor esi, esi
jmp 0x10120aa4
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120a8e
cmp byte [ecx + 0x12], 1
jne 0x10120a8e
mov esi, dword [ecx + 8]
jmp 0x10120aa0
test dl, 1
je 0x10120a97
xor esi, esi
jmp 0x10120aa0
mov dl, 1
call fcn.10043350
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x10120ab2
mov ecx, eax
call fcn.1001e3f0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
jne 0x10120b49
test esi, esi
jne 0x10120ac8
xor eax, eax
jmp 0x10120b09
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120ad0
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x28], eax
call fcn.1001e890
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10120b09
push dword [esp + 0x20]
push esi
push eax
call fcn.1012be10
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001ec40
mov esi, eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120b31
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x64
je 0x10120c0c
test ebx, ebx
jne 0x10120b5a
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x10120b20
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120b6d
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x10120b8a
jg 0x10120b81
cmp dword [ebx + 0x88], 0
jbe 0x10120b8a
mov edx, ebx
mov ecx, esi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x10120be7
test eax, eax
jne 0x10120be7
xor edi, edi
jmp 0x10120bf2
mov edx, eax
mov ecx, esi
call fcn.1001ec40
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120c03
push eax
call dword [0x10165b50]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, 1
push esi
push edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xffffffff
call fcn.101184f0
mov edi, eax
add esp, 8
mov esi, 1
mov dword [esp + 0x1c], esi
test edi, edi
jne 0x10120ee8
mov edx, dword [esp + 0x24]
mov ecx, edx
mov dword [esp + 0x10], 0x28
mov dword [esp + 0x14], ecx
nop dword [eax]
mov eax, dword [esp + 0x28]
cmp esi, dword [eax + 0xc]
jg 0x10120f08
mov eax, dword [eax + 0x14]
cmp byte [eax + esi - 1], 0
jne 0x10120ec7
test ebx, ebx
je 0x10120de5
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120c96
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10120cb6
movzx eax, word [ebx + 0x90]
cmp esi, eax
jge 0x10120cb6
test esi, esi
js 0x10120cb6
add ecx, dword [esp + 0x10]
jne 0x10120cce
xor edi, edi
jmp 0x10120cfd
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120ceb
cmp byte [ecx + 0x12], 1
jne 0x10120ceb
mov edi, dword [ecx + 8]
jmp 0x10120cfd
test dl, 1
je 0x10120cf4
xor edi, edi
jmp 0x10120cfd
mov dl, 1
call fcn.10043350
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x10120d10
test edx, edx
jne 0x10120d10
xor eax, eax
jmp 0x10120d15
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120d2b
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120d3e
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10120d5a
movzx eax, word [ebx + 0x90]
cmp esi, eax
jge 0x10120d5a
test esi, esi
js 0x10120d5a
add ecx, dword [esp + 0x10]
jmp 0x10120d72
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 2
je 0x10120d85
cmp byte [ecx + 0x12], 1
jne 0x10120d85
mov esi, dword [ecx + 0xc]
jmp 0x10120dae
test al, 0x10
je 0x10120d9d
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x10120d99
mov esi, dword [ecx]
add esi, edx
jmp 0x10120dae
mov esi, edx
jmp 0x10120dae
test al, 1
je 0x10120da5
xor esi, esi
jmp 0x10120dae
mov dl, 1
call fcn.10043a90
mov esi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x10120dc1
test edx, edx
jne 0x10120dc1
xor eax, eax
jmp 0x10120dc6
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120e68
push eax
call dword [0x10165b50]
add esp, 4
jmp 0x10120e68
test edx, edx
je 0x10120ec7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10120df7
xor edi, edi
jmp 0x10120e26
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120e14
cmp byte [ecx + 0x12], 1
jne 0x10120e14
mov edi, dword [ecx + 8]
jmp 0x10120e26
test dl, 1
je 0x10120e1d
xor edi, edi
jmp 0x10120e26
mov dl, 1
call fcn.10043350
mov edi, eax
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
movzx eax, word [ecx + 0x10]
test al, 2
je 0x10120e3f
cmp byte [ecx + 0x12], 1
jne 0x10120e3f
mov esi, dword [ecx + 0xc]
jmp 0x10120e68
test al, 0x10
je 0x10120e57
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x10120e53
mov esi, dword [ecx]
add esi, edx
jmp 0x10120e68
mov esi, edx
jmp 0x10120e68
test al, 1
je 0x10120e5f
xor esi, esi
jmp 0x10120e68
mov dl, 1
call fcn.10043a90
mov esi, eax
xor eax, eax
mov dword [esp + 0x34], eax
test edi, edi
je 0x10120e98
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push 0x10120760
push esi
push edi
mov eax, dword [ecx + 0x3c]
push 4
push edx
push dword [ecx + 0x38]
mov eax, dword [eax + 8]
call eax
mov edi, eax
add esp, 0x18
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cdq
mov ecx, dword [ecx + 0x18]
sub dword [ecx + esi*8 - 8], eax
mov eax, dword [esp + 0x18]
sbb dword [ecx + esi*8 - 4], edx
mov eax, dword [eax + 0x18]
cmp dword [eax + esi*8 - 4], 0
jl 0x10120ee3
jg 0x10120ec3
cmp dword [eax + esi*8 - 8], 0
jb 0x10120ee3
mov edx, dword [esp + 0x24]
add dword [esp + 0x10], 0x28
inc esi
add dword [esp + 0x14], 4
mov dword [esp + 0x1c], esi
test edi, edi
jne 0x10120ee8
mov ecx, dword [esp + 0x14]
jmp 0x10120c60
mov edi, 0x10b
mov eax, dword [esp + 0x18]
add dword [eax + 0x10], 0xffffffff
adc dword [eax + 0x14], 0xffffffff
test ebx, ebx
jne 0x10120f21
xor esi, esi
test edi, edi
cmovne esi, edi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x14], 0
jg 0x10120eec
jl 0x10120f1a
cmp dword [eax + 0x10], 1
jae 0x10120eec
mov edi, 0x10b
jmp 0x10120ef4
mov esi, dword [ebx]
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120f38
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x10120f55
jg 0x10120f4c
cmp dword [ebx + 0x88], 0
jbe 0x10120f55
mov edx, ebx
mov ecx, esi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x10120fb2
test eax, eax
jne 0x10120fb2
xor esi, esi
jmp 0x10120fbd
mov edx, eax
mov ecx, esi
call fcn.1001ec40
mov esi, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120fd2
push eax
call dword [0x10165b50]
add esp, 4
test edi, edi
cmovne esi, edi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret