Function at 0x425ab0
Capabilities:
Reference sql statements

Disassembly:
mov eax, dword [0x476ecf4]
sub esp, 0x820
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x425ad0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x820
ret
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, str.0000
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, dword [esp + 0x834]
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x18], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebx + ebx*2]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
mov ecx, dword [esp + 0x838]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [edx*4 + 0x654914]
push eax
lea eax, [ebx + ebx*2]
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
mov edx, dword [0x476edd0]
lea eax, [eax + eax*4]
shl eax, 5
mov ecx, dword [eax + 0x643944]
lea eax, [esp + 0x34]
push ecx
push edx
push 0x476ed38
push str.SELECT_MAX_ntrans__FROM_GATC__sTRANS_WHERE_kcom_d_AND_channel_d_AND_device_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea edx, [esp + 0x30]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x425cf4
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x425cf4
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp + 4]
test al, al
jne 0x425c28
mov edx, dword [ebp]
lea eax, [esp + 0x20]
push 1
push eax
mov ecx, ebp
call dword [edx + 0x14]
mov edi, dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
call fcn.00445280
jmp 0x425c4e
mov edi, str.G000
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [esp + 0x10], 0x47
jge 0x425c7d
mov edi, str.G000
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x425cdf
lea ecx, [esp + 0x11]
push ecx
call fcn.0045f57e
add esp, 4
cmp eax, 0x3e7
je 0x425cb8
lea edx, [esp + 0x11]
push edx
call fcn.0045f57e
inc eax
lea ecx, [esp + 0x14]
push eax
movsx eax, byte [esp + 0x18]
push eax
push str._c_03d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x425cdf
mov al, byte [esp + 0x10]
cmp al, 0x5a
jne 0x425cc7
mov eax, 0x47
jmp 0x425ccb
movsx eax, al
inc eax
push eax
lea edx, [esp + 0x14]
push str._c000
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x425cf4
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
lea eax, [ebx + ebx*2]
lea edi, [esp + 0x10]
push 0x46054d8
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
lea ecx, [eax + eax*2]
xor eax, eax
lea ebx, [ebx + ecx*2]
mov ecx, dword [esp + 0x83c]
shl ebx, 5
add ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebx + ebx*4 + 0x6550b4]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x820
ret