Function at 0x101208e0
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 0x10120cc6
lea ecx, [esp + 0x14]
push ebx
push ecx
lea edx, [ebx + 2]
mov ecx, eax
call fcn.101200c0
add esp, 8
test eax, eax
jne 0x10121089
mov ebx, dword [esp + 0x14]
push esi
push edi
push 1
push ebx
call fcn.1004b1a0
add esp, 0x10
xor edi, edi
test ebx, ebx
jne 0x10120956
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021520
add esp, 8
jmp 0x10120976
cmp dword [ebx], edi
jne 0x10120970
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021520
add esp, 8
mov eax, 1
jmp 0x10120972
xor eax, eax
test eax, eax
je 0x10120999
push 0x10156dc4
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021520
add esp, 0x14
jmp 0x10120bea
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x101209b0
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, ebx
call fcn.10049950
mov esi, eax
cmp esi, 0x11
jne 0x10120bcc
mov ecx, edi
inc edi
mov dword [esp + 0x20], edi
cmp ecx, 0x32
jge 0x10120bcc
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.100931f0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x10120b03
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.1004ba40
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x10120aca
mov ecx, esi
call fcn.10046980
mov ecx, esi
call fcn.10046a60
push ebx
call fcn.10048bc0
add esp, 4
cmp dword [esp + 0x1c], 0
jl 0x10120ae8
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.10049950
mov esi, eax
cmp esi, 0x11
jne 0x10120bcc
mov edi, dword [esp + 0x20]
jmp 0x101209c2
cmp edi, 7
jne 0x10120b0f
mov ecx, esi
call fcn.1001ebf0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x10120b21
xor esi, esi
jmp 0x10120b54
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120b3e
cmp byte [ecx + 0x12], 1
jne 0x10120b3e
mov esi, dword [ecx + 8]
jmp 0x10120b50
test dl, 1
je 0x10120b47
xor esi, esi
jmp 0x10120b50
mov dl, 1
call fcn.100433c0
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x10120b62
mov ecx, eax
call fcn.1001e480
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
jne 0x10120bf9
test esi, esi
jne 0x10120b78
xor eax, eax
jmp 0x10120bb9
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120b80
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x28], eax
call fcn.1001e920
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10120bb9
push dword [esp + 0x20]
push esi
push eax
call fcn.1012bec0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001ecd0
mov esi, eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120be1
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x64
je 0x10120cbc
test ebx, ebx
jne 0x10120c0a
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 0x10120bd0
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120c1d
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x10120c3a
jg 0x10120c31
cmp dword [ebx + 0x88], 0
jbe 0x10120c3a
mov edx, ebx
mov ecx, esi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
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 0x10120c97
test eax, eax
jne 0x10120c97
xor edi, edi
jmp 0x10120ca2
mov edx, eax
mov ecx, esi
call fcn.1001ecd0
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120cb3
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.101185b0
mov edi, eax
add esp, 8
mov esi, 1
mov dword [esp + 0x1c], esi
test edi, edi
jne 0x10120f98
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 0x10120fb8
mov eax, dword [eax + 0x14]
cmp byte [eax + esi - 1], 0
jne 0x10120f77
test ebx, ebx
je 0x10120e95
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120d46
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10120d66
movzx eax, word [ebx + 0x90]
cmp esi, eax
jge 0x10120d66
test esi, esi
js 0x10120d66
add ecx, dword [esp + 0x10]
jne 0x10120d7e
xor edi, edi
jmp 0x10120dad
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov ecx, 0x10151998
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120d9b
cmp byte [ecx + 0x12], 1
jne 0x10120d9b
mov edi, dword [ecx + 8]
jmp 0x10120dad
test dl, 1
je 0x10120da4
xor edi, edi
jmp 0x10120dad
mov dl, 1
call fcn.100433c0
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x10120dc0
test edx, edx
jne 0x10120dc0
xor eax, eax
jmp 0x10120dc5
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120ddb
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120dee
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10120e0a
movzx eax, word [ebx + 0x90]
cmp esi, eax
jge 0x10120e0a
test esi, esi
js 0x10120e0a
add ecx, dword [esp + 0x10]
jmp 0x10120e22
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov ecx, 0x10151998
movzx eax, word [ecx + 0x10]
test al, 2
je 0x10120e35
cmp byte [ecx + 0x12], 1
jne 0x10120e35
mov esi, dword [ecx + 0xc]
jmp 0x10120e5e
test al, 0x10
je 0x10120e4d
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x10120e49
mov esi, dword [ecx]
add esi, edx
jmp 0x10120e5e
mov esi, edx
jmp 0x10120e5e
test al, 1
je 0x10120e55
xor esi, esi
jmp 0x10120e5e
mov dl, 1
call fcn.10043b00
mov esi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x10120e71
test edx, edx
jne 0x10120e71
xor eax, eax
jmp 0x10120e76
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10120f18
push eax
call dword [0x10165b50]
add esp, 4
jmp 0x10120f18
test edx, edx
je 0x10120f77
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10120ea7
xor edi, edi
jmp 0x10120ed6
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10120ec4
cmp byte [ecx + 0x12], 1
jne 0x10120ec4
mov edi, dword [ecx + 8]
jmp 0x10120ed6
test dl, 1
je 0x10120ecd
xor edi, edi
jmp 0x10120ed6
mov dl, 1
call fcn.100433c0
mov edi, eax
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
movzx eax, word [ecx + 0x10]
test al, 2
je 0x10120eef
cmp byte [ecx + 0x12], 1
jne 0x10120eef
mov esi, dword [ecx + 0xc]
jmp 0x10120f18
test al, 0x10
je 0x10120f07
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x10120f03
mov esi, dword [ecx]
add esi, edx
jmp 0x10120f18
mov esi, edx
jmp 0x10120f18
test al, 1
je 0x10120f0f
xor esi, esi
jmp 0x10120f18
mov dl, 1
call fcn.10043b00
mov esi, eax
xor eax, eax
mov dword [esp + 0x34], eax
test edi, edi
je 0x10120f48
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push 0x10120810
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 0x10120f93
jg 0x10120f73
cmp dword [eax + esi*8 - 8], 0
jb 0x10120f93
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 0x10120f98
mov ecx, dword [esp + 0x14]
jmp 0x10120d10
mov edi, 0x10b
mov eax, dword [esp + 0x18]
add dword [eax + 0x10], 0xffffffff
adc dword [eax + 0x14], 0xffffffff
test ebx, ebx
jne 0x10120fd1
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 0x10120f9c
jl 0x10120fca
cmp dword [eax + 0x10], 1
jae 0x10120f9c
mov edi, 0x10b
jmp 0x10120fa4
mov esi, dword [ebx]
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10120fe8
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x10121005
jg 0x10120ffc
cmp dword [ebx + 0x88], 0
jbe 0x10121005
mov edx, ebx
mov ecx, esi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
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 0x10121062
test eax, eax
jne 0x10121062
xor esi, esi
jmp 0x1012106d
mov edx, eax
mov ecx, esi
call fcn.1001ecd0
mov esi, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10121082
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