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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
xor esi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
test edi, edi
jns 0x100e351a
cmp dword [ecx + 0x108], esi
je 0x100e351a
cmp dword [ecx + 0x120], ebx
jne 0x100e351a
mov dword [esp + 0x1c], esi
cmp dword [ebp + 0x18], esi
jne 0x100e348d
cmp dword [ebp + 0x1c], esi
jne 0x100e348d
xor eax, eax
jmp 0x100e3492
mov eax, 1
lea edx, [esp + 0x1c]
push edx
mov edx, dword [ebp + 8]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.100f08b0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100e3516
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x100e3512
mov edx, dword [ebp + 0x20]
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100e34cd
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100e3505
mov eax, dword [edx]
mov dword [esp + 0x20], eax
call fcn.100d8ee0
test eax, eax
jne 0x100e35c6
mov ecx, dword [esp + 0x20]
lea eax, [esi*4 + 0x40]
push 0
push eax
call fcn.10027f60
add esp, 8
test eax, eax
je 0x100e35c6
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 + 0x18]
mov ecx, dword [esp + 0x14]
cmp edi, 0xffffffff
je 0x100e3cd2
test esi, esi
jne 0x100e3cd2
mov dword [esp + 0x10], esi
lea eax, [esp + 0x10]
push esi
push eax
test edi, edi
jns 0x100e35d7
lea edx, [esi + 0xd]
call fcn.100ee4e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x100e362d
mov ecx, dword [esp + 0x14]
mov eax, ebx
mov edi, dword [esp + 0x10]
imul dword [ecx + 0x104]
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 edi
call fcn.10057670
mov ecx, dword [esp + 0x24]
mov eax, ebx
imul dword [ecx + 0x104]
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 edi
call fcn.10057670
add esp, 0x20
mov dword [esp + 0x18], edi
jmp 0x100e3640
mov ecx, ebx
call fcn.100f0590
mov esi, 7
jmp 0x100e3512
mov edx, 0xc
call fcn.100ee4e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x100e362d
mov ecx, dword [esp + 0x14]
mov eax, ebx
imul dword [ecx + 0x104]
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
mov edi, dword [esp + 0x10]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push edi
call fcn.10057670
add esp, 0x10
mov dword [esp + 0x18], edi
jmp 0x100e3640
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edi
test esi, esi
jne 0x100e3c0e
nop dword [eax]
xor ebx, ebx
test edi, edi
je 0x100e3bdc
cmp dword [edi], ebx
jne 0x100e3662
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.1002a9f0
add esp, 8
lea eax, [ebx + 1]
jmp 0x100e3664
xor eax, eax
test eax, eax
jne 0x100e3beb
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3683
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, edi
call fcn.10055c90
mov esi, eax
cmp esi, 0x11
jne 0x100e36d1
mov eax, ebx
inc ebx
cmp eax, 0x32
jge 0x100e36d1
mov esi, dword [edi + 0x20]
mov ecx, edi
call fcn.1009fff0
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100e372f
push edi
call fcn.10054fa0
add esp, 4
test esi, esi
js 0x100e36c3
mov byte [edi + 0x95], 0xfe
mov ecx, edi
call fcn.10055c90
mov esi, eax
cmp esi, 0x11
je 0x100e3691
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e36e6
push eax
call dword [0x10178a90]
add esp, 4
cmp esi, 0x64
jne 0x100e3c0e
mov eax, dword [edi]
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e370a
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x100e3801
mov ecx, 1
cmp cx, word [edi + 0x90]
jae 0x100e3801
lea ecx, [eax + 0x28]
jmp 0x100e3819
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100e3741
xor esi, esi
jmp 0x100e3774
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e375e
cmp byte [ecx + 0x12], 1
jne 0x100e375e
mov esi, dword [ecx + 8]
jmp 0x100e3770
test dl, 1
je 0x100e3767
xor esi, esi
jmp 0x100e3770
mov dl, 1
call fcn.1004f390
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x100e3782
mov ecx, eax
call fcn.10027de0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
jne 0x100e37ed
test esi, esi
jne 0x100e3794
xor ebx, ebx
jmp 0x100e37d3
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e37a0
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x28], eax
call fcn.10028280
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100e37d3
push dword [esp + 0x20]
push esi
push ebx
call fcn.1013c1a0
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x7c], ebx
call fcn.10028630
mov esi, eax
mov dword [edi + 0x24], esi
jmp 0x100e36d1
mov esi, 7
mov dword [edi + 0x7c], 0
mov dword [edi + 0x24], esi
jmp 0x100e36d5
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
mov ecx, dword [edi]
mov ebx, edx
mov edx, dword [edi + 0x24]
mov esi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x10], ebx
cmp byte [ecx + 0x57], 0
jne 0x100e383d
test edx, edx
jne 0x100e383d
xor eax, eax
jmp 0x100e3842
call fcn.10028630
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3858
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [edi]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3873
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x100e388d
mov ecx, 2
cmp cx, word [edi + 0x90]
jae 0x100e388d
lea ecx, [eax + 0x50]
jmp 0x100e38a5
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
mov ecx, dword [edi]
mov ebx, edx
mov edx, dword [edi + 0x24]
mov esi, eax
cmp byte [ecx + 0x57], 0
jne 0x100e38c1
test edx, edx
jne 0x100e38c1
xor eax, eax
jmp 0x100e38c6
call fcn.10028630
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e38dc
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [edi]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e38f7
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x100e3911
mov ecx, 3
cmp cx, word [edi + 0x90]
jae 0x100e3911
lea ecx, [eax + 0x78]
jmp 0x100e3929
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
mov ecx, dword [edi]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0x24]
mov dword [esp + 0x2c], eax
cmp byte [ecx + 0x57], 0
jne 0x100e3949
test edx, edx
jne 0x100e3949
xor eax, eax
jmp 0x100e394e
call fcn.10028630
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3964
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3977
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [edi + 0x78]
mov esi, 4
test ecx, ecx
je 0x100e3994
cmp si, word [edi + 0x90]
jae 0x100e3994
add ecx, 0xa0
jmp 0x100e39ac
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100e39bf
cmp byte [ecx + 0x12], 1
jne 0x100e39bf
mov ebx, dword [ecx + 0xc]
jmp 0x100e39e8
test al, 0x10
je 0x100e39d7
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100e39d3
mov ebx, dword [ecx]
add ebx, edx
jmp 0x100e39e8
mov ebx, edx
jmp 0x100e39e8
test al, 1
je 0x100e39df
xor ebx, ebx
jmp 0x100e39e8
mov dl, 1
call fcn.1004fae0
mov ebx, eax
mov ecx, dword [edi]
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100e39fb
test edx, edx
jne 0x100e39fb
xor eax, eax
jmp 0x100e3a00
call fcn.10028630
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3a16
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3a29
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x100e3a40
cmp si, word [edi + 0x90]
jae 0x100e3a40
add eax, 0xa0
jmp 0x100e3a58
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov eax, 0x10162818
push eax
call fcn.10055100
mov ecx, dword [edi]
add esp, 4
mov edx, dword [edi + 0x24]
mov esi, eax
mov dword [esp + 0x20], esi
cmp byte [ecx + 0x57], 0
jne 0x100e3a7a
test edx, edx
jne 0x100e3a7a
xor eax, eax
jmp 0x100e3a7f
call fcn.10028630
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e3a95
push eax
call dword [0x10178a90]
add esp, 4
mov ecx, dword [esp + 0x24]
mov eax, ecx
or eax, dword [esp + 0x10]
je 0x100e3bae
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x100e3bae
test esi, esi
je 0x100e3bae
xor ecx, ecx
lea eax, [esp + 0x38]
cmp dword [ebp + 0x18], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
push esi
push dword [ebp + 0x14]
call fcn.100e18f0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x100e3c0e
cmp dword [ebp + 0x18], eax
jne 0x100e3b0e
cmp dword [ebp + 0x1c], eax
jne 0x100e3b0e
mov eax, dword [esp + 0x34]
mov edx, 1
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp 0x100e3b20
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
xor edx, edx
lea eax, [esp + 0x1c]
push eax
push ebx
mov ebx, dword [ebp + 0x20]
push esi
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x2c]
push ecx
mov ecx, dword [ebx + 4]
inc ecx
call fcn.100f0710
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x100e3c0e
mov esi, dword [ebx + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100e3b68
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100e3b92
mov ebx, dword [ebx]
call fcn.100d8ee0
test eax, eax
jne 0x100e3bcc
lea eax, [esi*4 + 0x40]
mov ecx, ebx
push 0
push eax
call fcn.10027f60
add esp, 8
test eax, eax
je 0x100e3bcc
mov ebx, dword [ebp + 0x20]
mov dword [ebx], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x18]
inc dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp 0x100e3640
cmp dword [ebp + 0x18], 0
jne 0x100e3b1e
cmp dword [ebp + 0x1c], 0
jne 0x100e3b1e
mov edx, 1
jmp 0x100e3b20
mov ecx, dword [esp + 0x1c]
call fcn.100f0590
mov esi, 7
jmp 0x100e3c0e
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.1002a9f0
add esp, 8
push 0x10167d54
push 0x160fd
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.1002a9f0
add esp, 0x14
mov esi, 0x15
mov edi, dword [esp + 0x18]
test edi, edi
je 0x100e3cd2
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100e3c2d
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x100e3c4a
jg 0x100e3c41
cmp dword [edi + 0x88], 0
jbe 0x100e3c4a
mov edx, edi
mov ecx, ebx
call fcn.10054e00
mov ecx, edi
call fcn.10052a30
mov byte [edi + 0x97], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x94], 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 0x100e3ca7
test eax, eax
jne 0x100e3ca7
xor edi, edi
jmp 0x100e3cb2
mov edx, eax
mov ecx, ebx
call fcn.10028630
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100e3cd4
push eax
call dword [0x10178a90]
add esp, 4
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret