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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
xor esi, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ecx
test edi, edi
jns 0x100d47cd
cmp dword [ecx + 0x104], esi
je 0x100d47cd
cmp dword [ecx + 0x118], ebx
jne 0x100d47cd
mov dword [esp + 0x14], esi
cmp dword [ebp + 0x18], esi
jne 0x100d4740
cmp dword [ebp + 0x1c], esi
jne 0x100d4740
xor eax, eax
jmp 0x100d4745
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.100e1ee0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100d47c9
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x100d47c5
mov edx, dword [ebp + 0x20]
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100d4780
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100d47b8
mov eax, dword [edx]
mov dword [esp + 0x18], eax
call fcn.100ca320
test eax, eax
jne 0x100d487b
mov ecx, dword [esp + 0x18]
lea eax, [esi*4 + 0x40]
push 0
push eax
call fcn.1001e950
add esp, 8
test eax, eax
je 0x100d487b
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 + 0x10]
mov ecx, dword [esp + 0x24]
cmp edi, 0xffffffff
je 0x100d5155
test esi, esi
jne 0x100d5155
mov dword [esp + 0x28], esi
lea eax, [esp + 0x28]
push esi
push eax
test edi, edi
jns 0x100d488c
lea edx, [esi + 0xd]
call fcn.100df930
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d48e2
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov ebx, dword [esp + 0x28]
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.1004b390
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
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.1004b390
add esp, 0x20
mov dword [esp + 0x10], ebx
jmp 0x100d48f4
mov ecx, ebx
call fcn.100e1bc0
mov esi, 7
jmp 0x100d47c5
mov edx, 0xc
call fcn.100df930
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d48e2
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov ebx, dword [esp + 0x28]
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.1004b390
add esp, 0x10
mov dword [esp + 0x10], ebx
jmp 0x100d48f4
mov ebx, dword [esp + 0x28]
mov edi, ebx
mov dword [esp + 0x10], edi
test esi, esi
jne 0x100d5095
xor edi, edi
test ebx, ebx
je 0x100d505f
cmp dword [ebx], edi
jne 0x100d4916
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021710
add esp, 8
lea eax, [edi + 1]
jmp 0x100d4918
xor eax, eax
test eax, eax
jne 0x100d506e
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4937
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, ebx
call fcn.10049b40
mov esi, eax
cmp esi, 0x11
jne 0x100d4b5c
nop dword [eax]
mov eax, edi
inc edi
mov dword [esp + 0x14], edi
cmp eax, 0x32
jge 0x100d4b5c
mov eax, dword [ebx + 0x20]
lea ecx, [esp + 0x4c]
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.10092ad0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x100d4a91
mov esi, dword [esp + 0x4c]
lea edi, [esp + 0x50]
mov ecx, 0x3a
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x4c]
mov ecx, 0x3a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3a
lea esi, [esp + 0x50]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x4c]
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.1004bc30
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x100d4a58
mov ecx, esi
call fcn.10046b70
mov ecx, esi
call fcn.10046c50
push ebx
call fcn.10048db0
add esp, 4
cmp dword [esp + 0x18], 0
jl 0x100d4a76
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.10049b40
mov esi, eax
cmp esi, 0x11
jne 0x100d4b5c
mov edi, dword [esp + 0x14]
jmp 0x100d4950
cmp edi, 7
jne 0x100d4a9d
mov ecx, esi
call fcn.1001ef40
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100d4aaf
xor esi, esi
jmp 0x100d4ae2
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100d4acc
cmp byte [ecx + 0x12], 1
jne 0x100d4acc
mov esi, dword [ecx + 8]
jmp 0x100d4ade
test dl, 1
je 0x100d4ad5
xor esi, esi
jmp 0x100d4ade
mov dl, 1
call fcn.10043540
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x100d4af0
mov ecx, eax
call fcn.1001e7d0
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x100d4baf
test esi, esi
jne 0x100d4b06
xor eax, eax
jmp 0x100d4b49
mov ecx, esi
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4b10
sub ecx, dword [esp + 0x18]
push 0
lea eax, [ecx + 1]
mov ecx, edx
push eax
mov dword [esp + 0x20], eax
call fcn.1001ec70
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x100d4b49
push dword [esp + 0x18]
push esi
push eax
call fcn.1012b000
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001f020
mov esi, eax
mov dword [ebx + 0x24], esi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100d4b71
push eax
call dword [0x10165b90]
add esp, 4
cmp esi, 0x64
jne 0x100d5091
mov eax, dword [ebx]
mov dword [esp + 0x14], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4b95
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d4bc0
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x100d4bc0
add ecx, 0x28
jmp 0x100d4bd8
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x100d4b60
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022380
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d4be7
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x100d4c20
test al, 8
je 0x100d4bfa
movsd xmm0, qword [ecx]
call fcn.10042880
mov esi, eax
mov edi, edx
jmp 0x100d4c20
test al, 0x12
je 0x100d4c0f
cmp dword [ecx + 8], 0
je 0x100d4c0f
call fcn.100428b0
mov esi, eax
mov edi, edx
jmp 0x100d4c20
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 + 0x2c], edi
cmp byte [ecx + 0x57], 0
jne 0x100d4c3b
test edx, edx
jne 0x100d4c3b
xor eax, eax
jmp 0x100d4c40
call fcn.1001f020
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4c56
push eax
call dword [0x10165b90]
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 0x100d4c71
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d4c8b
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x100d4c8b
add ecx, 0x50
jmp 0x100d4ca3
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022380
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d4cb2
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x100d4ceb
test al, 8
je 0x100d4cc5
movsd xmm0, qword [ecx]
call fcn.10042880
mov esi, eax
mov edi, edx
jmp 0x100d4ceb
test al, 0x12
je 0x100d4cda
cmp dword [ecx + 8], 0
je 0x100d4cda
call fcn.100428b0
mov esi, eax
mov edi, edx
jmp 0x100d4ceb
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 0x100d4cfe
test edx, edx
jne 0x100d4cfe
xor eax, eax
jmp 0x100d4d03
call fcn.1001f020
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4d19
push eax
call dword [0x10165b90]
add esp, 4
mov eax, dword [ebx]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4d34
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d4d4e
mov eax, 3
cmp ax, word [ebx + 0x90]
jae 0x100d4d4e
add ecx, 0x78
jmp 0x100d4d66
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022380
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d4d79
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x30], esi
jmp 0x100d4db6
test al, 8
je 0x100d4d8c
movsd xmm0, qword [ecx]
call fcn.10042880
mov dword [esp + 0x30], edx
jmp 0x100d4db6
test al, 0x12
je 0x100d4da1
cmp dword [ecx + 8], 0
je 0x100d4da1
call fcn.100428b0
mov dword [esp + 0x30], edx
jmp 0x100d4db6
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x34], eax
cmp byte [ecx + 0x57], 0
jne 0x100d4dcd
test edx, edx
jne 0x100d4dcd
xor eax, eax
jmp 0x100d4dd2
call fcn.1001f020
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4de8
push eax
call dword [0x10165b90]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4dfb
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x100d4e18
cmp si, word [ebx + 0x90]
jae 0x100d4e18
add ecx, 0xa0
jmp 0x100d4e30
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022380
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100d4e43
cmp byte [ecx + 0x12], 1
jne 0x100d4e43
mov edi, dword [ecx + 0xc]
jmp 0x100d4e6c
test al, 0x10
je 0x100d4e5b
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100d4e57
mov edi, dword [ecx]
add edi, edx
jmp 0x100d4e6c
mov edi, edx
jmp 0x100d4e6c
test al, 1
je 0x100d4e63
xor edi, edi
jmp 0x100d4e6c
mov dl, 1
call fcn.10043c80
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100d4e7f
test edx, edx
jne 0x100d4e7f
xor eax, eax
jmp 0x100d4e84
call fcn.1001f020
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4e9a
push eax
call dword [0x10165b90]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4ead
push eax
call dword [0x10165b88]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100d4ec4
cmp si, word [ebx + 0x90]
jae 0x100d4ec4
add eax, 0xa0
jmp 0x100d4edc
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022380
mov eax, 0x10150a48
push eax
call fcn.10048f10
mov ecx, dword [ebx]
add esp, 4
mov edx, dword [ebx + 0x24]
mov esi, eax
mov dword [esp + 0x18], esi
cmp byte [ecx + 0x57], 0
jne 0x100d4efe
test edx, edx
jne 0x100d4efe
xor eax, eax
jmp 0x100d4f03
call fcn.1001f020
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d4f19
push eax
call dword [0x10165b90]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, ecx
mov edx, dword [esp + 0x2c]
or eax, edx
je 0x100d5031
cmp dword [ebp + 0x10], 0
je 0x100d5031
test esi, esi
je 0x100d5031
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0x40]
xor ecx, ecx
cmp dword [ebp + 0x18], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
push edi
push esi
push dword [ebp + 0x14]
call fcn.100d2ba0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x100d5091
cmp dword [ebp + 0x18], eax
jne 0x100d4f92
cmp dword [ebp + 0x1c], eax
jne 0x100d4f92
mov ecx, dword [esp + 0x38]
mov eax, 1
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
jmp 0x100d4fa0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
xor eax, eax
lea ebx, [esp + 0x14]
push ebx
push edi
mov edi, dword [ebp + 0x20]
push esi
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [esp + 0x58]
push dword [esp + 0x58]
push edx
push ecx
mov ecx, dword [edi + 4]
mov edx, eax
inc ecx
call fcn.100e1d40
mov ebx, dword [esp + 0x4c]
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x100d5091
mov esi, dword [edi + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100d4feb
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100d5015
mov edi, dword [edi]
call fcn.100ca320
test eax, eax
jne 0x100d504f
lea eax, [esi*4 + 0x40]
mov ecx, edi
push 0
push eax
call fcn.1001e950
add esp, 8
test eax, eax
je 0x100d504f
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 0x100d48f4
cmp dword [ebp + 0x18], 0
jne 0x100d4f9e
cmp dword [ebp + 0x1c], 0
jne 0x100d4f9e
mov eax, 1
jmp 0x100d4fa0
mov ecx, dword [esp + 0x14]
call fcn.100e1bc0
mov esi, 7
jmp 0x100d5091
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021710
add esp, 8
push 0x10155e9c
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021710
add esp, 0x14
mov esi, 0x15
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100d5155
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100d50b0
push eax
call dword [0x10165b88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x100d50cd
jg 0x100d50c4
cmp dword [edi + 0x88], 0
jbe 0x100d50cd
mov edx, edi
mov ecx, ebx
call fcn.10048c10
mov ecx, edi
call fcn.10046b70
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 0x100d512a
test eax, eax
jne 0x100d512a
xor edi, edi
jmp 0x100d5135
mov edx, eax
mov ecx, ebx
call fcn.1001f020
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100d5157
push eax
call dword [0x10165b90]
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