Function at 0x409b80
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov eax, dword [0x455c20]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x1a
push ebx
push esi
push edi
mov dword [ebp - 0x58], eax
lea edi, [ebp - 0xf4]
mov eax, dword [ebp + 0xc]
xor bl, bl
mov esi, 0x456314
mov dword [ebp - 0x5c], eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
movsd qword [eax], xmm0
mov byte [ebp - 0x45], bl
mov byte [ebp - 0x68], bl
mov byte [ebp - 0x48], bl
mov word [ebp - 0xe3], 1
mov dword [ebp - 0xe0], 0
cmp byte [0x4563b0], bl
je 0x409bed
lea eax, [ebp - 0x64]
push eax
call edi
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_96
add esp, 4
test eax, eax
jne 0x409c56
push str.BEGIN
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_21
mov esi, eax
push esi
call fcn.0040a890
add esp, 0xc
test al, al
je 0x409c30
push esi
call sub.LIBPQ.dll_Ordinal_33
add esp, 4
cmp eax, 1
jne 0x409c30
mov bl, al
jmp 0x409c32
xor bl, bl
push esi
call sub.LIBPQ.dll_Ordinal_48
add esp, 4
test bl, bl
jne 0x409c52
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00429e54
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x48], 1
lea eax, [ebp - 0x8c]
push eax
call sub.LIBPQ.dll_Ordinal_69
push dword [ebp - 0x58]
lea eax, [ebp - 0x8c]
push str.DECLARE__psql_cursor_NO_SCROLL_CURSOR_FOR_n_s
push eax
call sub.LIBPQ.dll_Ordinal_91
push dword [ebp - 0x8c]
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_21
mov esi, eax
push esi
call fcn.0040a890
add esp, 0x1c
test al, al
je 0x409ca8
push esi
call sub.LIBPQ.dll_Ordinal_33
add esp, 4
cmp eax, 1
jne 0x409ca8
mov bl, al
jmp 0x409caa
xor bl, bl
push esi
mov byte [ebp - 0x46], bl
call sub.LIBPQ.dll_Ordinal_48
lea eax, [ebp - 0x8c]
push eax
call sub.LIBPQ.dll_Ordinal_67
add esp, 8
test bl, bl
je 0x409f6e
cmp byte [0x4563b0], 0
je 0x409d28
lea eax, [ebp - 0x50]
push eax
call edi
mov eax, dword [ebp - 0x64]
sub dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
sbb dword [ebp - 0x4c], eax
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
call fcn.0042a2ef
mulsd xmm0, qword [0x42edc8]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
movsd qword [ebp - 0x80], xmm0
call fcn.0042a2ef
movsd xmm1, qword [ebp - 0x80]
divsd xmm1, xmm0
mov ebx, dword [ebp - 0x5c]
addsd xmm1, qword [ebx]
movsd qword [ebx], xmm1
jmp 0x409d2b
mov ebx, dword [ebp - 0x5c]
cmp dword [0x456380], 0
mov ecx, 2
mov eax, dword [0x4563c4]
cmovne eax, ecx
push eax
push str.FETCH_FORWARD__d_FROM__psql_cursor
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.004262e0
mov eax, dword [0x45637c]
add esp, 0x10
test eax, eax
je 0x409d8b
lea ecx, [ebp - 0x47]
push ecx
lea ecx, [ebp - 0x54]
push ecx
push eax
call fcn.00408ea0
add esp, 0xc
test al, al
jne 0x409d7b
xor bl, bl
jmp 0x409f6e
cmp byte [ebp - 0x47], 0
je 0x409d86
call fcn.004179c0
mov esi, dword [ebp - 0x54]
jmp 0x409d98
mov esi, dword [0x456308]
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x47], 0
push esi
call dword [sym.imp.MSVCR120.dll_clearerr]
add esp, 4
cmp byte [0x4563b0], 0
je 0x409db1
lea eax, [ebp - 0x64]
push eax
call edi
lea eax, [ebp - 0x44]
push eax
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_21
add esp, 8
mov edi, eax
cmp byte [0x4563b0], 0
je 0x409e22
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x70]
sub dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x60]
sbb dword [ebp - 0x4c], ecx
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
call fcn.0042a2ef
mulsd xmm0, qword [0x42edc8]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
call fcn.0042a2ef
movsd xmm1, qword [ebp - 0x78]
divsd xmm1, xmm0
addsd xmm1, qword [ebx]
movsd qword [ebx], xmm1
push edi
call sub.LIBPQ.dll_Ordinal_33
add esp, 4
cmp eax, 2
jne 0x409f2b
cmp dword [0x456380], 0
push edi
jne 0x409f19
call sub.LIBPQ.dll_Ordinal_34
mov ebx, eax
add esp, 4
cmp ebx, dword [ebp - 0x58]
jge 0x409e5a
mov byte [ebp - 0xe2], 1
jmp 0x409e8e
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
cmp esi, eax
jne 0x409e8e
cmp byte [ebp - 0x45], 0
jne 0x409e8e
lea eax, [ebp - 0xf4]
push eax
push 0x7fffffff
call fcn.004179f0
mov esi, eax
add esp, 8
mov al, 1
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x45], al
mov byte [ebp - 0x68], al
push dword [0x4563b4]
lea eax, [ebp - 0xf4]
push dword [ebp - 0x68]
push esi
push eax
push edi
call fcn.004180b0
push edi
call sub.LIBPQ.dll_Ordinal_48
add dword [ebp - 0xe0], ebx
push esi
mov byte [ebp - 0xe3], 0
call dword [sym.imp.MSVCR120.dll_fflush]
add esp, 0x1c
cmp ebx, dword [ebp - 0x58]
jl 0x409ef6
cmp byte [0x455cb8], 0
jne 0x409ef3
test eax, eax
jne 0x409ef3
mov esi, dword [ebp - 0x54]
push esi
call dword [sym.imp.MSVCR120.dll_ferror]
add esp, 4
test eax, eax
jne 0x409ef6
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [ebp - 0x5c]
jmp 0x409da2
mov esi, dword [ebp - 0x54]
mov bl, byte [ebp - 0x46]
cmp dword [0x45637c], 0
je 0x409f59
cmp byte [ebp - 0x47], 0
push esi
je 0x409f51
call dword [sym.imp.MSVCR120.dll__pclose]
add esp, 4
call fcn.004179d0
jmp 0x409f68
call fcn.0040aa80
push edi
mov bl, al
call sub.LIBPQ.dll_Ordinal_48
add esp, 8
jmp 0x409ef9
cmp byte [ebp - 0x45], 0
je 0x409f3e
push esi
call fcn.00417a70
add esp, 4
mov byte [ebp - 0x45], 0
push edi
call fcn.0040a890
push edi
mov bl, al
call sub.LIBPQ.dll_Ordinal_48
add esp, 8
jmp 0x409ef9
call dword [sym.imp.MSVCR120.dll_fclose]
jmp 0x409f65
cmp byte [ebp - 0x45], 0
je 0x409f68
push esi
call fcn.00417a70
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp byte [0x4563b0], 0
je 0x409f7d
lea eax, [ebp - 0x64]
push eax
call edi
push str.CLOSE__psql_cursor
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_21
add esp, 8
mov esi, eax
test bl, bl
je 0x409fb7
push esi
call fcn.0040a890
add esp, 4
test al, al
je 0x409fb5
push esi
call sub.LIBPQ.dll_Ordinal_33
add esp, 4
cmp eax, 1
jne 0x409fb5
mov bl, al
jmp 0x409fb7
xor bl, bl
push esi
call sub.LIBPQ.dll_Ordinal_48
add esp, 4
cmp byte [ebp - 0x48], 0
je 0x40a00d
mov ecx, str.ROLLBACK
test bl, bl
mov eax, str.COMMIT
cmove eax, ecx
push eax
push dword [0x456300]
call sub.LIBPQ.dll_Ordinal_21
mov esi, eax
push esi
call fcn.0040a890
add esp, 0xc
test al, al
je 0x40a000
push esi
call sub.LIBPQ.dll_Ordinal_33
add esp, 4
cmp eax, 1
jne 0x40a000
jmp 0x40a002
xor eax, eax
push esi
and bl, al
call sub.LIBPQ.dll_Ordinal_48
add esp, 4
cmp byte [0x4563b0], 0
je 0x40a069
lea eax, [ebp - 0x50]
push eax
call edi
mov eax, dword [ebp - 0x64]
sub dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
sbb dword [ebp - 0x4c], eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
call fcn.0042a2ef
mulsd xmm0, qword [0x42edc8]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
movsd qword [ebp - 0x70], xmm0
call fcn.0042a2ef
movsd xmm1, qword [ebp - 0x70]
divsd xmm1, xmm0
mov eax, dword [ebp - 0x5c]
addsd xmm1, qword [eax]
movsd qword [eax], xmm1
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00429e54
mov esp, ebp
pop ebp
ret