Function at 0x100972aa
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a0
mov eax, dword [0x10016a40]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
or dword [ebp - 0x164], 0xffffffff
or dword [ebp - 0x178], 0xffffffff
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
push dword [0x1018998c]
mov dword [ebp - 0x180], eax
xor eax, eax
mov dword [ebp - 0x174], edi
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1a0], eax
call fcn.10161cc3
mov esi, dword [sym.imp.msvcr100.dll_malloc]
push 0x82
call esi
mov dword [ebp - 0x190], eax
mov dword [esp], 0x200
call esi
mov dword [ebp - 0x160], eax
mov dword [esp], 0x12c
call esi
push 0x82
mov dword [ebp - 0x168], eax
call esi
cmp dword [ebp - 0x190], 0
pop ecx
pop ecx
mov dword [ebp - 0x17c], eax
je 0x10097eb6
cmp dword [ebp - 0x160], 0
je 0x10097eb6
cmp dword [ebp - 0x168], 0
je 0x10097eb6
test eax, eax
je 0x10097eb6
push 0xbf8
call esi
pop ecx
mov dword [ebp - 0x170], eax
test eax, eax
je 0x10097eb6
push dword [ebp + 8]
call fcn.10161cc3
test eax, eax
jne 0x100973b2
mov ebx, 0xfffffbb0
jmp 0x10097ebb
push edi
push dword [ebp + 8]
call fcn.10161cc3
test eax, eax
jne 0x100973c9
mov ebx, 0xfffffc0e
jmp 0x10097ebb
push edi
push dword [ebp + 8]
call fcn.10161cc3
test eax, eax
jne 0x100973f4
push edi
call fcn.10161cc3
test eax, eax
je 0x100973ea
push edi
call fcn.10161cc3
test eax, eax
je 0x100973f4
mov ebx, 0xfffffc17
jmp 0x10097ebb
or dword [ebx + 4], 0xffffffff
cmp dword [ebp + 0x1c], 0x2c
jae 0x10097408
mov ebx, 0xfffffbf2
jmp 0x10097ebb
mov eax, dword [ebp - 0x16c]
xor edx, edx
test eax, eax
je 0x10097421
cmp word [eax], dx
jne 0x10097421
mov eax, edx
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x180]
test ecx, ecx
je 0x10097438
cmp word [ecx], dx
jne 0x10097438
mov ecx, edx
mov dword [ebp - 0x180], ecx
test eax, eax
je 0x1009744a
test ecx, ecx
je 0x10097475
mov ebx, 0xfffffc15
jmp 0x10097ebb
test ecx, ecx
je 0x10097475
mov edi, dword [ebp - 0x160]
push 0x82
push dword [ebp - 0x190]
push 0x200
push edi
push ecx
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097ec1
push 0x30
pop ecx
push 0x12
push 4
pop eax
push eax
mov esi, 0x10004080
lea edi, [ebp - 0x104]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x174]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x194]
push eax
push esi
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
jns 0x100974b0
mov edx, dword [ebp - 0x13c]
jmp 0x100974ba
mov edx, dword [ebp - 0x194]
xor eax, eax
mov ebx, eax
test ebx, ebx
js 0x10097ebb
push 8
lea eax, [ebp - 0xf8]
pop ecx
mov dword [eax], edx
add eax, 0x18
dec ecx
jne 0x100974cb
push 8
push 4
pop eax
push eax
lea eax, [ebp - 0x198]
push eax
push esi
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097ebb
cmp dword [ebp - 0x198], 0x10000
je 0x10097509
cmp dword [ebp - 0x198], 0x10001
jne 0x10097513
mov dword [ebp - 0x18c], 1
mov eax, dword [ebp - 0x16c]
test eax, eax
je 0x10097536
lea ecx, [ebp - 0x184]
push ecx
push eax
push esi
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097ebb
cmp dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x15c]
je 0x100977df
xor eax, eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xa8], eax
lea eax, [ecx + 0xc]
push eax
lea esi, [ecx + 4]
push esi
push 0xc
push 8
lea eax, [ebp - 0x104]
push eax
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097ebb
mov ecx, dword [ebp - 0x180]
xor eax, eax
test ecx, ecx
je 0x1009759e
push eax
push 0x2c
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x190]
push dword [ebp - 0x160]
jmp 0x100975be
mov ecx, dword [ebp - 0x16c]
test ecx, ecx
setne al
lea eax, [eax*2 + 1]
push eax
push 0x2c
lea eax, [ebp - 0x130]
push eax
xor eax, eax
push eax
push ecx
push dword [ebp - 0x174]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
jns 0x100975ec
mov esi, dword [ebp - 0x15c]
cmp ebx, 0xfffffc13
jne 0x10097dc5
mov ebx, 0xfffffae7
jmp 0x10097dc5
push dword [ebp - 0x15c]
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x44]
call fcn.10161cc3
xor eax, eax
push eax
push eax
push SysReAllocString
push 8
lea eax, [ebp - 0x44]
push eax
push dword [esi]
push dword [ebp - 0x12c]
push edi
call fcn.10161cc3
push dword [ebp - 0x12c]
mov ebx, eax
push edi
call fcn.10161cc3
cmp ebx, 0xfffff9bd
jne 0x10097dbf
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 8], eax
xor eax, eax
push eax
push SysReAllocStringLen
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097780
mov ecx, dword [ebp - 0x168]
lea eax, [ecx + 2]
mov dword [ebp - 0x194], eax
push 0x5b
pop edx
mov word [ecx], dx
xor ecx, ecx
push ecx
push ecx
lea ecx, [ebp - 0x19c]
push ecx
push 0x95
push eax
mov eax, dword [ebp - 0x15c]
push dword [eax + 0x1c]
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
mov esi, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x168]
push 0x5d
pop eax
push 0x2e
shr esi, 1
mov word [ecx + esi*2 + 2], ax
pop eax
mov word [ecx + esi*2 + 4], ax
xor eax, eax
push eax
push eax
lea eax, [ebp - 0x19c]
push eax
add esi, 3
mov eax, 0x96
sub eax, esi
push eax
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0x15c]
push dword [eax + 0xc]
push dword [eax + 4]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
mov eax, dword [ebp - 0x19c]
shr eax, 1
add esi, eax
mov eax, dword [ebp - 0x15c]
push 2
push dword [eax + 4]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
xor eax, eax
push eax
push eax
lea eax, [esi + esi]
push eax
push dword [ebp - 0x168]
mov eax, dword [ebp - 0x15c]
push dword [eax + 0xc]
lea esi, [eax + 4]
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
xor eax, eax
push eax
push eax
push eax
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
xor eax, eax
push eax
push 1
push dword [esi]
push edi
call fcn.10161cc3
mov ecx, dword [ebp - 0x168]
mov ebx, eax
mov eax, dword [ebp - 0x194]
test ebx, ebx
jns 0x1009766f
cmp ebx, 0xfffff9bd
je 0x10097790
test ebx, ebx
js 0x10097dbf
xor eax, eax
push eax
push 0xb
push 0x10004b78
push eax
push 0x10004b90
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
xor eax, eax
push eax
push SysReAllocStringLen
push dword [esi]
push edi
call fcn.10161cc3
mov ebx, eax
xor eax, eax
cmp ebx, 0xfffff9bd
jne 0x100977d0
mov ebx, eax
test ebx, ebx
js 0x10097dbf
mov ebx, eax
jmp 0x10097ebb
lea eax, [ecx + 0xc]
push eax
lea eax, [ecx + 4]
push eax
push 8
push 8
lea eax, [ebp - 0x104]
push eax
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097ebb
mov eax, dword [ebp - 0x16c]
test eax, eax
jne 0x10097886
mov ecx, dword [ebp - 0x180]
test ecx, ecx
jne 0x1009785e
push 4
pop eax
push eax
push 0x100039a4
lea eax, [ebp - 0x164]
push eax
push esi
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097900
xor esi, esi
push esi
push SysReAllocStringLen
push dword [ebp - 0x164]
push edi
call fcn.10161cc3
mov ebx, eax
cmp ebx, 0xfffff9bd
je 0x100979eb
jmp 0x100978fc
mov edx, dword [ebp - 0x160]
xor esi, esi
cmp word [edx], si
jne 0x10097a0c
mov esi, dword [ebp - 0x168]
push 0x92
add esi, 8
push esi
mov ebx, 0x100044b8
push ecx
jmp 0x100978be
push 1
xor ecx, ecx
push ecx
lea ecx, [ebp - 0x1a0]
push ecx
push eax
push esi
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
mov esi, dword [ebp - 0x168]
push 0x92
add esi, 8
push esi
push dword [ebp - 0x16c]
mov ebx, 0x10004230
call fcn.10161cc3
push esi
call fcn.10161cc3
pop ecx
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
push edx
push 0x10
add eax, eax
push 4
mov dword [ecx + 4], eax
add eax, 8
push eax
push ecx
push ebx
push dword [ebp - 0x174]
mov dword [ecx], 0xa
push edi
call fcn.10161cc3
mov ebx, eax
xor esi, esi
test ebx, ebx
jns 0x10097921
cmp ebx, 0xfffffae7
jne 0x10097dbf
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x160]
xor ecx, ecx
mov ebx, ecx
jmp 0x10097a0e
mov eax, dword [ebp - 0x164]
push esi
lea esi, [ebp - 0x130]
mov dword [ebp - 0x12c], eax
call fcn.10161cc3
mov esi, dword [ebp - 0x15c]
mov ebx, eax
test ebx, ebx
js 0x10097dc5
push esi
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x44]
call fcn.10161cc3
xor eax, eax
push eax
push eax
push SysReAllocString
push 8
lea eax, [ebp - 0x44]
push eax
push dword [esi + 4]
push dword [ebp - 0x164]
push edi
call fcn.10161cc3
mov ebx, eax
cmp ebx, 0xfffff9bd
jne 0x10097dc5
xor eax, eax
inc eax
cmp word [ebp - 0x184], ax
je 0x100979a8
push 6
pop eax
cmp word [ebp - 0x184], ax
je 0x100979a8
push 4
pop eax
cmp word [ebp - 0x184], ax
jne 0x100979d4
test byte [ebp - 0x1a0], 1
je 0x100979d4
push 8
lea eax, [ebp - 0x44]
push eax
push esi
push dword [ebp - 0x16c]
push dword [ebp - 0x174]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dc5
push esi
push dword [ebp - 0x174]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dc5
push dword [ebp - 0x164]
push edi
call fcn.10161cc3
or dword [ebp - 0x164], 0xffffffff
mov edx, dword [ebp - 0x160]
mov ebx, eax
mov eax, dword [ebp - 0x16c]
xor ecx, ecx
mov esi, dword [ebp - 0x180]
test esi, esi
je 0x10097a26
cmp word [edx], cx
je 0x10097e2e
jmp 0x10097b58
test eax, eax
je 0x10097a3a
push 6
pop eax
cmp word [ebp - 0x184], ax
jne 0x10097e2e
mov esi, dword [ebp - 0x170]
push 0x5fc
push esi
push 0x10004140
call fcn.10161cc3
mov ebx, dword [ebp - 0x16c]
test ebx, ebx
je 0x10097a9f
push 0x5fc
push esi
push 0x10004930
call dword [sym.imp.MSO.dll_Ordinal_6137]
mov esi, dword [ebp - 0x168]
push 0x92
add esi, 8
push esi
push ebx
call fcn.10161cc3
push esi
call fcn.10161cc3
pop ecx
mov ecx, dword [ebp - 0x168]
add eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], 0xa
mov ebx, ecx
add eax, 8
jmp 0x10097aa3
xor eax, eax
mov ebx, eax
push edi
mov dword [ebp - 0x18c], eax
call fcn.10161cc3
mov edi, eax
xor eax, eax
push eax
push edi
call fcn.10161cc3
mov ecx, dword [ebp - 0x170]
mov esi, eax
lea eax, [ebp - 0x178]
push eax
push 0x10
push 4
pop eax
push eax
push dword [ebp - 0x18c]
push ebx
push ecx
push dword [ebp - 0x174]
push dword [ebp + 8]
call fcn.10161cc3
push esi
push edi
mov ebx, eax
call fcn.10161cc3
test ebx, ebx
js 0x10097dbf
mov edi, dword [ebp + 8]
xor esi, esi
push esi
push esi
push dword [ebp - 0x178]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
jne 0x10097e0d
push esi
push esi
lea eax, [ebp - 0x194]
push eax
push 0x200
push dword [ebp - 0x160]
push esi
push dword [ebp - 0x178]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dbf
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x180]
shr eax, 1
xor ecx, ecx
mov word [edx + eax*2], cx
test edx, edx
je 0x10097b94
movzx eax, word [edx]
mov ecx, edx
jmp 0x10097b8f
movzx eax, ax
sub eax, 0x22
je 0x10097d9b
sub eax, 5
je 0x10097d9b
sub eax, 0x34
je 0x10097d9b
dec eax
dec eax
je 0x10097d9b
add ecx, 2
movzx eax, word [ecx]
test ax, ax
jne 0x10097b63
push edx
push edx
push edx
push edx
push 0x10004558
push 0xffffffffffffffff
push 0x5fc
push dword [ebp - 0x170]
call dword [sym.imp.msvcr100.dll__snwprintf_s]
add esp, 0x20
test eax, eax
js 0x10097dba
mov ebx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x170]
xor ecx, ecx
mov word [eax + 0xbf6], cx
test ebx, ebx
je 0x10097c5a
push eax
call fcn.10161cc3
pop ecx
mov ecx, dword [ebp - 0x170]
push 0x41
push dword [ebp - 0x17c]
lea esi, [ecx + eax*2]
push ebx
call fcn.10161cc3
mov ebx, dword [ebp - 0x17c]
push ebx
call fcn.10161cc3
pop ecx
mov dword [ebp - 0x188], eax
xor eax, eax
push eax
push 0x82
lea eax, [ebp - 0x188]
push eax
push ebx
call fcn.10161cc3
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov word [ebx + eax*2], cx
push ebx
push ebx
mov ecx, esi
sub ecx, dword [ebp - 0x170]
push 0x10004968
sar ecx, 1
mov eax, 0x5fc
push 0xffffffffffffffff
sub eax, ecx
push eax
push esi
call dword [sym.imp.msvcr100.dll__snwprintf_s]
mov eax, dword [ebp - 0x170]
add esp, 0x18
jmp 0x10097ce5
test esi, esi
je 0x10097ce5
push eax
call fcn.10161cc3
mov ebx, dword [ebp - 0x170]
pop ecx
push 0x41
push dword [ebp - 0x17c]
lea esi, [ebx + eax*2]
push dword [ebp - 0x190]
call fcn.10161cc3
push dword [ebp - 0x17c]
call fcn.10161cc3
pop ecx
mov dword [ebp - 0x188], eax
xor eax, eax
push eax
push 0x82
lea eax, [ebp - 0x188]
push eax
push dword [ebp - 0x17c]
call fcn.10161cc3
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x17c]
push ecx
xor edx, edx
mov word [ecx + eax*2], dx
mov ecx, esi
sub ecx, ebx
push 0x100049b8
sar ecx, 1
mov eax, 0x5fc
push 0xffffffffffffffff
sub eax, ecx
push eax
push esi
call dword [sym.imp.msvcr100.dll__snwprintf_s]
add esp, 0x14
mov eax, ebx
lea ecx, [ebp - 0x164]
push ecx
push 0x10
push 4
pop ecx
push ecx
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebp - 0x174]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097d9b
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x12c], eax
xor eax, eax
inc eax
push eax
lea esi, [ebp - 0x130]
call fcn.10161cc3
mov esi, dword [ebp - 0x15c]
mov ebx, eax
test ebx, ebx
js 0x10097dc5
push esi
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x44]
call fcn.10161cc3
xor eax, eax
push eax
push eax
push SysReAllocString
push 8
lea eax, [ebp - 0x44]
push eax
push dword [esi + 4]
push dword [ebp - 0x164]
push edi
call fcn.10161cc3
mov ebx, eax
cmp ebx, 0xfffff9bd
je 0x10097d73
test ebx, ebx
js 0x10097dc5
xor eax, eax
inc eax
je 0x10097d8b
push esi
push dword [ebp - 0x174]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dc5
push dword [ebp - 0x164]
push edi
call fcn.10161cc3
mov ebx, eax
jmp 0x10097da1
mov esi, dword [ebp - 0x15c]
cmp dword [ebp - 0x178], 0xffffffff
je 0x10097e34
xor esi, esi
xor eax, eax
push esi
inc eax
push eax
jmp 0x10097afd
mov ebx, 0xfffffc16
mov esi, dword [ebp - 0x15c]
cmp dword [ebp - 0x164], 0xffffffff
je 0x10097ddc
push dword [ebp - 0x164]
push dword [ebp + 8]
call fcn.10161cc3
cmp dword [esi + 4], 0xffffffff
je 0x10097ded
push dword [esi + 4]
push dword [ebp + 8]
call fcn.10161cc3
cmp dword [ebp - 0x178], 0xffffffff
je 0x10097ebb
push dword [ebp - 0x178]
push dword [ebp + 8]
call fcn.10161cc3
jmp 0x10097ebb
cmp ebx, 0xfffff9bd
je 0x10097e19
test ebx, ebx
js 0x10097dbf
push dword [ebp - 0x178]
push edi
call fcn.10161cc3
or dword [ebp - 0x178], 0xffffffff
mov ebx, eax
mov esi, dword [ebp - 0x15c]
xor eax, eax
push eax
push SysReAllocString
push dword [esi + 4]
push edi
call fcn.10161cc3
cmp eax, 0xfffff9bd
jne 0x10097e64
mov ecx, dword [ebp - 0x180]
xor eax, eax
mov dword [esi + 8], eax
test ecx, ecx
je 0x100977d8
jmp 0x100975e2
test ebx, ebx
js 0x10097dc5
xor eax, eax
push eax
push SysReAllocStringLen
push dword [esi + 4]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dc5
xor eax, eax
push eax
push 0x28
lea eax, [ebp - 0x158]
push eax
push dword [esi + 4]
push edi
call fcn.10161cc3
mov ebx, eax
test ebx, ebx
js 0x10097dc5
mov eax, dword [ebp - 0x138]
mov dword [esi + 8], eax
xor eax, eax
jmp 0x100977d8
mov ebx, 0xfffffc0d
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x190]
mov esi, dword [sym.imp.msvcr100.dll_free]
test eax, eax
je 0x10097ed5
push eax
call esi
pop ecx
test edi, edi
je 0x10097edd
push edi
call esi
pop ecx
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x10097eeb
push eax
call esi
pop ecx
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x10097ef9
push eax
call esi
pop ecx
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x10097f07
push eax
call esi
pop ecx
push dword [0x1018998c]
call fcn.10161cc3
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.10025923
leave
ret 0x18