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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push ebp
push esi
mov ebx, ecx
xor edx, edx
push edi
mov dword [esp + 0x10], ebx
call fcn.100ecfc0
test eax, eax
jne 0x100f2fe0
push dword [ebx + 0xe0]
xor esi, esi
mov dword [esp + 0x20], eax
push str.SELECT__s
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], eax
call fcn.100294e0
mov edi, eax
add esp, 8
test edi, edi
jne 0x100f280f
mov ebp, 7
mov dword [esp + 0x20], ebp
jmp 0x100f2ea6
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0x14]
push 0
push eax
push 0
push 0x80
push 0xffffffffffffffff
mov edx, edi
call fcn.1009d7f0
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebp
cmp dword [0x10177b48], esi
je 0x100f2883
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100f2851
push eax
call dword [0x10177b98]
add esp, 4
push edi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push edi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f288d
push eax
call dword [0x10177ba0]
jmp 0x100f288a
push edi
call dword [0x10177b6c]
add esp, 4
test ebp, ebp
jne 0x100f2ea2
mov eax, dword [ebx + 0x18]
mov ecx, 0xc
imul ecx
mov esi, eax
mov edi, edx
add esi, ecx
adc edi, ebp
call fcn.100d6670
test eax, eax
je 0x100f28cc
mov esi, dword [esp + 0x14]
xor eax, eax
mov edi, dword [esp + 0x10]
mov ebp, 7
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebp
jmp 0x100f2ea8
push edi
push esi
call fcn.100267c0
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x100f28f6
mov esi, dword [esp + 0x14]
mov ebp, 7
mov dword [esp + 0x20], ebp
mov edi, dword [esp + 0x10]
jmp 0x100f2ea8
push esi
push 0
push ebx
call fcn.10138870
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x18]
shl eax, 2
lea ecx, [eax + 4]
add eax, 4
add ecx, ebx
add eax, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
xor ebx, ebx
test esi, esi
je 0x100f2e73
cmp dword [esi], ebx
jne 0x100f2944
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.100296a0
add esp, 8
lea eax, [ebx + 1]
jmp 0x100f2946
xor eax, eax
test eax, eax
jne 0x100f2e82
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2965
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, esi
call fcn.10054980
mov edi, eax
cmp edi, 0x11
jne 0x100f29b5
mov eax, ebx
inc ebx
cmp eax, 0x32
jge 0x100f29b1
mov edi, dword [esi + 0x20]
mov ecx, esi
call fcn.1009d980
mov ebp, eax
test ebp, ebp
jne 0x100f2a5a
push esi
call fcn.10053c90
add esp, 4
test edi, edi
js 0x100f29a3
mov byte [esi + 0x95], 0xfe
mov ecx, esi
call fcn.10054980
mov edi, eax
cmp edi, 0x11
je 0x100f2973
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f29ca
push eax
call dword [0x10177ba0]
add esp, 4
cmp edi, 0x64
jne 0x100f28ed
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x30], ebp
cmp dword [eax + 0x2c], ebp
je 0x100f29f6
mov eax, dword [eax + 0x18]
inc eax
push eax
push esi
call fcn.10055880
add esp, 8
mov dword [esp + 0x30], eax
mov ebp, eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2a09
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x100f2a1b
xor eax, eax
cmp ax, word [esi + 0x90]
jb 0x100f2a33
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
call fcn.1004d340
mov ecx, dword [esi]
mov ebx, edx
mov edx, dword [esi + 0x24]
mov edi, eax
cmp byte [ecx + 0x57], 0
jne 0x100f2b27
test edx, edx
jne 0x100f2b27
xor eax, eax
jmp 0x100f2b2c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100f2a6c
xor edi, edi
jmp 0x100f2a9f
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100f2a89
cmp byte [ecx + 0x12], 1
jne 0x100f2a89
mov edi, dword [ecx + 8]
jmp 0x100f2a9b
test dl, 1
je 0x100f2a92
xor edi, edi
jmp 0x100f2a9b
mov dl, 1
call fcn.1004e000
mov edi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x100f2aad
mov ecx, eax
call fcn.10026a90
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x57], 0
jne 0x100f2b0f
test edi, edi
jne 0x100f2abf
xor ebx, ebx
jmp 0x100f2af7
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2ac4
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
push eax
mov dword [esp + 0x38], eax
call fcn.10026f30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100f2af7
push dword [esp + 0x30]
push edi
push ebx
call fcn.10139d00
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, ebp
mov dword [esi + 0x7c], ebx
call fcn.100272e0
mov edi, eax
mov dword [esi + 0x24], edi
jmp 0x100f29b1
mov ebp, dword [esp + 0x18]
mov edi, 7
mov dword [esi + 0x7c], 0
mov dword [esi + 0x24], edi
jmp 0x100f29b9
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2b42
push eax
call dword [0x10177ba0]
add esp, 4
push ebx
push edi
mov edi, dword [esp + 0x18]
xor edx, edx
push ebp
mov ecx, edi
call fcn.100ecd10
mov ebx, dword [esp + 0x28]
mov ebp, eax
mov eax, dword [edi + 0x18]
add esp, 0xc
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebp
lea eax, [eax*4 + 4]
push eax
push 0
push ebx
call fcn.10138870
add esp, 0xc
test ebp, ebp
jne 0x100f2d6f
mov eax, dword [esp + 0x1c]
lea ebx, [ebp + 1]
mov edx, 0x28
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
nop word [eax + eax]
lea ebp, [ebx - 1]
cmp ebp, dword [edi + 0x18]
jge 0x100f2d67
mov eax, dword [edi + 0x20]
cmp byte [eax + ebp], 0
jne 0x100f2d4c
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2bd0
push eax
call dword [0x10177b98]
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x100f2bee
movzx eax, word [esi + 0x90]
cmp ebx, eax
jge 0x100f2bee
test ebx, ebx
js 0x100f2bee
add ecx, edx
jne 0x100f2c06
xor edi, edi
jmp 0x100f2c35
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100f2c23
cmp byte [ecx + 0x12], 1
jne 0x100f2c23
mov edi, dword [ecx + 8]
jmp 0x100f2c35
test dl, 1
je 0x100f2c2c
xor edi, edi
jmp 0x100f2c35
mov dl, 1
call fcn.1004e000
mov edi, eax
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f2c48
test edx, edx
jne 0x100f2c48
xor eax, eax
jmp 0x100f2c4d
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2c63
push eax
call dword [0x10177ba0]
add esp, 4
push dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
push ebp
push edi
call fcn.100ecba0
mov ebp, eax
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebp
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2c96
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x100f2cb2
movzx eax, word [esi + 0x90]
cmp ebx, eax
jge 0x100f2cb2
test ebx, ebx
js 0x100f2cb2
add ecx, dword [esp + 0x14]
jmp 0x100f2cca
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100f2cdd
cmp byte [ecx + 0x12], 1
jne 0x100f2cdd
mov edi, dword [ecx + 0xc]
jmp 0x100f2d06
test al, 0x10
je 0x100f2cf5
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100f2cf1
mov edi, dword [ecx]
add edi, edx
jmp 0x100f2d06
mov edi, edx
jmp 0x100f2d06
test al, 1
je 0x100f2cfd
xor edi, edi
jmp 0x100f2d06
mov dl, 1
call fcn.1004e750
mov edi, eax
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f2d19
test edx, edx
jne 0x100f2d19
xor eax, eax
jmp 0x100f2d1e
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f2d34
push eax
call dword [0x10177ba0]
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
add dword [ecx + eax*4], edi
mov edi, dword [esp + 0x10]
jmp 0x100f2d50
mov ebp, dword [esp + 0x18]
add dword [esp + 0x24], 4
add edx, 0x28
inc ebx
mov dword [esp + 0x14], edx
test ebp, ebp
je 0x100f2ba0
jmp 0x100f2d6b
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp byte [edi + 0xee], 0
je 0x100f2d8f
push ebx
mov edx, edi
lea ecx, [esp + 0x24]
call fcn.100f1c20
mov ebp, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x100f2dcc
inc dword [esp + 0x28]
xor edx, edx
cmp dword [edi + 0x18], edx
jl 0x100f2922
mov ecx, dword [esp + 0x2c]
mov edi, ebx
mov ebp, dword [esp + 0x10]
sub edi, ecx
nop
mov eax, dword [ecx + edi]
lea ecx, [ecx + 4]
add dword [ecx - 4], eax
inc edx
cmp edx, dword [ebp + 0x18]
jle 0x100f2db0
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
jmp 0x100f2922
mov edi, dword [esi]
test edi, edi
jne 0x100f2e0b
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.100296a0
push 0x10166fc4
push 0x15deb
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.100296a0
mov edi, dword [esp + 0x2c]
add esp, 0x1c
mov dword [esp + 0x1c], ebx
xor esi, esi
jmp 0x100f2ea8
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f2e1c
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f2e39
jg 0x100f2e30
cmp dword [esi + 0x88], 0
jbe 0x100f2e39
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov ecx, esi
mov ebx, eax
call fcn.10051810
cmp byte [edi + 0x57], 0
jne 0x100f2e53
test ebx, ebx
je 0x100f2e5c
mov edx, ebx
mov ecx, edi
call fcn.100272e0
mov ecx, edi
call fcn.100d7a10
mov eax, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x100f2ea8
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.100296a0
add esp, 8
push 0x10166fc4
push 0x160fd
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.100296a0
add esp, 0x14
jmp 0x100f2ea8
mov esi, dword [esp + 0x14]
mov edi, ebx
cmp byte [edi + 0xec], 0
je 0x100f2ecf
push dword [esp + 0x28]
mov edx, edi
lea ecx, [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x34]
call fcn.100f1e10
mov ebp, dword [esp + 0x2c]
add esp, 0xc
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x100f2f2f
cmp dword [0x10177b48], 0
je 0x100f2f25
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100f2ef3
push eax
call dword [0x10177b98]
add esp, 4
push ebx
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push ebx
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f2f2f
push eax
call dword [0x10177ba0]
jmp 0x100f2f2c
push ebx
call dword [0x10177b6c]
add esp, 4
test esi, esi
je 0x100f2fde
mov edi, dword [esi]
test edi, edi
jne 0x100f2f7b
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.100296a0
push 0x10166fc4
push 0x15deb
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.100296a0
add esp, 0x1c
mov esi, 0x15
test ebp, ebp
cmove ebp, esi
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f2f8c
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f2fa9
jg 0x100f2fa0
cmp dword [esi + 0x88], 0
jbe 0x100f2fa9
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov ecx, esi
mov ebx, eax
call fcn.10051810
cmp byte [edi + 0x57], 0
jne 0x100f2fc7
test ebx, ebx
jne 0x100f2fc7
xor esi, esi
jmp 0x100f2fd2
mov edx, ebx
mov ecx, edi
call fcn.100272e0
mov esi, eax
mov ecx, edi
call fcn.100d7a10
test ebp, ebp
cmove ebp, esi
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret