Function at 0x401000
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov byte [ebp - 0x3c], 0
mov byte [ebp - 0x24], 0
mov byte [ebp - 0xb0], 0
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x9c], 0
mov word [ebp - 0x14], 8
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 8], 0
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ecx
push 0x4032e8
call sub.ntwdblib.dll_Ordinal_31
add esp, 4
push fcn.004034c1
call sub.ntwdblib.dll_Ordinal_51
add esp, 4
call sub.ntwdblib.dll_Ordinal_43
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4010bb
mov edx, dword [str.An_error_occurred_while_attempting_to_load_n]
push edx
call fcn.004082ee
add esp, 4
mov eax, dword [str.the_DB_Library_Communications_Module_n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.004049b1
add esp, 4
test eax, eax
jne 0x4010f2
mov edx, dword [str.This_version_of_DB_Library_is_out_of_date._n]
push edx
call fcn.004082ee
add esp, 4
mov eax, dword [str.Please_update_your_copy_of_DB_Library_to_version_4.2_or_later._n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
call sub.ntwdblib.dll_Ordinal_48
mov dword [ebp - 0xa0], eax
push 0x40
lea ecx, [ebp - 0x98]
push ecx
push str.COMPUTERNAME
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x40112d
push 1
push str.Win32_PC_Client
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
jmp 0x401145
push 1
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
push 4
push str.ISQL_32
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
mov dword [ebp - 0xac], 0x200
mov eax, dword [0x413044]
mov byte [eax], 0
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp + 8], 0
jle 0x401c1b
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4011a7
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0x2f
jne 0x401c1b
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
sub eax, 0x45
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x35
ja case.0x4011ec.28
mov edx, dword [ebp - 0xd0]
xor ecx, ecx
mov cl, byte [edx + 0x402fb6]
jmp dword [ecx*4 + 0x402f42]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401244
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401244
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401244
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401244
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
push 0x1e
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 0x4176c0
call fcn.004081f0
add esp, 0xc
mov byte [0x4176de], 0
jmp 0x401c16
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4012b6
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x4012b6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4012b6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x4012b6
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
push 3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
mov byte [ebp - 0xa4], 1
jmp 0x401c16
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40132a
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x40132a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x40132a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x40132a
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
push 7
push 0
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
mov byte [ebp - 0x3c], 1
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401397
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401397
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401397
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401397
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
push 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401404
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401404
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401404
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401404
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.0040814b
add esp, 4
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x200
jb 0x401430
cmp dword [ebp - 0xac], 0xffff
jbe 0x401458
push 0x200
push 0xffff
push 0x200
mov edx, dword [str.Warning:_Packetsize_size_must_be_between__u_and__u____defaulting_to__u._n]
push edx
call fcn.004082ee
add esp, 0x10
mov dword [ebp - 0xac], 0x200
jmp 0x401c16
mov dword [0x416ce4], 1
jmp 0x401c16
cmp dword [ebp - 0xa8], 2
jne 0x401484
call fcn.00403126
push 0
call fcn.004048da
add esp, 4
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x4014da
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x4014da
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x4014da
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x4014da
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
push 0x3c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 0x417800
call fcn.004081f0
add esp, 0xc
mov byte [0x41783c], 0
jmp 0x401c16
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40154c
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x40154c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x40154c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x40154c
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.004081d6
add esp, 4
mov dword [ebp - 0x9c], eax
jmp 0x401c16
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
jne 0x40159a
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x40159a
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
push 9
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x417610
call fcn.004081f0
add esp, 0xc
mov byte [0x417619], 0
push 0x417610
call fcn.004080d0
add esp, 4
mov word [0x416cf4], ax
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x40161f
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x40161f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x40161f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x40161f
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004081d6
add esp, 4
mov word [ebp - 0x14], ax
jmp 0x401c16
mov dword [ebp - 0x4c], 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40168e
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x40168e
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x40168e
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x40168e
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x4171e0
call fcn.00407c20
add esp, 8
push 0x4171e0
push 0x4171e0
call dword [sym.imp.USER32.dll_CharToOemA]
mov dword [ebp - 0x10], 1
jmp 0x401c16
mov byte [0x413048], 0
jmp 0x401c16
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
jne 0x40171a
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x40171a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x40171a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x40171a
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [0x416cec], edx
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x40177b
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x40177b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x40177b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x40177b
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004080d0
add esp, 4
cmp eax, 0x13
jbe 0x4017ac
push 0x13
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x417060
call fcn.004081f0
add esp, 0xc
mov byte [0x417074], 0
jmp 0x4017bf
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x417060
call fcn.00407c20
add esp, 8
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401815
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401815
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401815
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401815
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [0x41304c], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
je 0x401858
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401858
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401858
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004081d6
add esp, 4
mov dword [0x41304c], eax
jmp 0x401c16
mov byte [ebp - 0x24], 1
jmp 0x401c16
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4018b7
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x4018b7
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4018b7
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x4018b7
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.004081d6
add esp, 4
mov word [0x416cf6], ax
mov dword [0x416cf8], 1
jmp 0x401c16
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
jne 0x40192b
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x40192b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x40192b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x40192b
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.004081d6
add esp, 4
mov dword [0x4131e0], eax
mov dword [0x416d04], 1
cmp dword [0x4131e0], 9
jg 0x401969
mov eax, dword [str.Column_width___w__value_must_be_greater_than_9_and_less_than_2147483648._n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
jmp 0x401c16
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
jne 0x4019bf
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x4019bf
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x4019bf
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x4019bf
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
push 0x1e
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x4176a0
call fcn.004081f0
add esp, 0xc
mov byte [0x4176be], 0
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401a31
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401a31
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401a31
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401a31
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dl, byte [ecx]
mov byte [0x4131e4], dl
mov byte [0x4131e5], 0
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401a9b
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401a9b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401a9b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401a9b
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004081d6
add esp, 4
mov dword [0x416d38], eax
jmp 0x401c16
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x401b04
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401b04
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401b04
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401b04
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x4170c0
call fcn.00407c20
add esp, 8
jmp 0x401c16
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
jne 0x401b6d
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401b6d
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401b6d
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401b6d
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x417960
call fcn.00407c20
add esp, 8
mov dword [0x416d08], 1
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx]
test edx, edx
jne 0x401be0
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401be0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401be0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401be0
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [0x416ce0], 1
jmp 0x401c16
mov byte [ebp - 0xb0], 1
jmp 0x401c16
mov dword [ebp - 0x48], 0
jmp 0x401c16
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00403de1
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
jmp 0x40116d
cmp dword [ebp + 8], 0
jle 0x401c39
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.00403de1
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov cx, word [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_159
add esp, 8
movsx eax, byte [0x4176c0]
test eax, eax
jne 0x401c69
push 0
call fcn.00403ed8
add esp, 4
test eax, eax
je 0x401c81
push 2
push 0x4176c0
mov ecx, dword [ebp - 0xa0]
push ecx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
jmp 0x401c9c
call fcn.00403e9a
push 2
push 0x417040
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
mov eax, dword [ebp - 0xa4]
and eax, 0xff
test eax, eax
jne 0x401ce6
mov ecx, dword [ebp - 0x3c]
and ecx, 0xff
test ecx, ecx
jne 0x401ce6
push 1
call fcn.00403ed8
add esp, 4
test eax, eax
jne 0x401cd0
call fcn.00403f8e
call fcn.00403fd8
push 3
push 0x4175e0
mov edx, dword [ebp - 0xa0]
push edx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
movsx eax, byte [0x417800]
test eax, eax
jne 0x401cfb
push 2
call fcn.00403ed8
add esp, 4
movsx ecx, byte [0x417060]
test ecx, ecx
jne 0x401d18
push 0x413078
push 0x417060
call fcn.00407c20
add esp, 8
push 0x417060
call fcn.004080d0
add esp, 4
mov word [0x41702c], ax
push str.EDITOR
call fcn.0040804c
add esp, 4
mov dword [0x417098], eax
cmp dword [0x417098], 0
jne 0x401d50
mov dword [0x417098], str.EDIT
movsx edx, byte [0x417960]
test edx, edx
je 0x401dc1
push 0x41308c
push 0x417960
call fcn.00408039
add esp, 8
mov dword [0x417840], eax
cmp dword [0x417840], 0
jne 0x401da7
push 0x417960
mov eax, dword [str.Cannot_open_output_file____s_n]
push eax
call fcn.004082ee
add esp, 8
mov ecx, dword [0x4132e8]
push ecx
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
push 1
mov edx, dword [0x417840]
push edx
call fcn.0040901c
add esp, 4
push eax
call fcn.00408e9d
add esp, 8
mov eax, dword [ebp - 0x14]
and eax, 0xffff
push eax
call sub.ntwdblib.dll_Ordinal_70
add esp, 4
test eax, eax
jne 0x401def
mov ecx, dword [str.Invalid_login_timeout___l__value._n]
push ecx
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov edx, dword [ebp - 0x9c]
push edx
call sub.ntwdblib.dll_Ordinal_75
add esp, 4
test eax, eax
jne 0x401e1a
mov eax, dword [str.Invalid_query_timeout___t__value._n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
push 9
push 0
mov ecx, dword [ebp - 0xa0]
push ecx
call sub.ntwdblib.dll_Ordinal_71
add esp, 0xc
mov edx, dword [0x413040]
push edx
mov eax, dword [ebp - 0xa0]
push eax
call sub.ntwdblib.dll_Ordinal_58
add esp, 8
mov dword [0x417698], eax
cmp dword [0x417698], 0
jne 0x401e5b
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov ecx, dword [0x413044]
movsx edx, byte [ecx]
test edx, edx
je 0x401e8b
mov eax, dword [0x413044]
push eax
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_93
add esp, 8
test eax, eax
jne 0x401e8b
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
cmp dword [0x416cec], 0
je 0x401f29
mov edx, dword [0x416cec]
push edx
push 5
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_74
add esp, 0xc
mov ecx, dword [0x416cec]
push ecx
push 4
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_74
add esp, 0xc
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_76
add esp, 4
test eax, eax
je 0x401eec
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_66
add esp, 4
test eax, eax
jne 0x401ef6
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_53
add esp, 4
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0xfffffffe
je 0x401f29
cmp dword [ebp - 0xb4], 0
jne 0x401f27
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
jmp 0x401ef6
push 1
push 0x404853
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x401f52
mov eax, dword [str.Error_in_signal_handling_startup__aborting__n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
push 4
push 0x32
call fcn.00407f68
add esp, 8
mov dword [0x4177e8], eax
cmp dword [0x4177e8], 0
jne 0x401f85
mov ecx, dword [str.Error:_cannot_allocate_memory_for_pCmdbufArray_n]
push ecx
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov word [0x41705e], 0x32
push 0x400
call fcn.00407eb6
add esp, 4
mov dword [0x4175cc], eax
cmp dword [0x4175cc], 0
jne 0x401fc2
mov edx, dword [str.Error:_cannot_allocate_memory_for_command_buffer_block_n]
push edx
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov word [0x4177e4], 0
mov word [0x41702e], 0
mov eax, dword [0x4175cc]
mov dword [0x417622], eax
mov word [0x417620], 0x400
movsx ecx, byte [0x4170c0]
test ecx, ecx
je 0x402040
push 0x413090
push 0x4170c0
call fcn.00408039
add esp, 8
mov dword [0x41709c], eax
cmp dword [0x41709c], 0
jne 0x40203e
push 0x4170c0
mov edx, dword [str.Cannot_open_input_file____s_n]
push edx
call fcn.004082ee
add esp, 8
mov eax, dword [str.No_such_file_or_directory_n]
push eax
call fcn.004082ee
add esp, 4
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
jmp 0x40204a
mov dword [0x41709c], 0x413ef0
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x417600], eax
cmp dword [0x416d08], 0
jne 0x402095
cmp dword [0x416d04], 0
jne 0x402095
cmp dword [0x416ce0], 0
jne 0x402095
push 0x417080
mov ecx, dword [0x417600]
push ecx
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x402095
movsx edx, word [0x417080]
mov dword [0x4131e0], edx
mov eax, 1
test eax, eax
je 0x402f01
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 1
je 0x4020dc
cmp dword [ebp - 0xd4], 2
je 0x4020e8
cmp dword [ebp - 0xd4], 3
je 0x40210c
jmp 0x40212a
mov dword [ebp - 0x10], 2
jmp 0x4022a8
push 0x417060
push 0x4171e0
call fcn.00407c20
add esp, 8
mov edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
and edx, 3
mov dword [ebp - 0x10], edx
jmp 0x4022a8
push 0x413094
push 0x4171e0
call fcn.00407c20
add esp, 8
mov dword [ebp - 0x10], 0
jmp 0x4022a8
cmp dword [0x416ce0], 0
jne 0x402211
cmp dword [0x416d14], 0
jne 0x40219a
xor eax, eax
mov al, byte [0x413048]
test eax, eax
je 0x402186
xor ecx, ecx
mov cx, word [0x41304a]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
push edx
push 0x41309c
mov ax, word [0x41304a]
add ax, 1
mov word [0x41304a], ax
call fcn.004082ee
add esp, 8
mov dword [ebp - 0xdc], eax
jmp 0x402190
mov dword [ebp - 0xdc], 1
mov dword [0x4170a0], 1
mov ecx, dword [0x41709c]
push ecx
push 0x3e8
push 0x4171e0
call fcn.00407da6
add esp, 0xc
test eax, eax
jne 0x402202
cmp dword [0x416d1c], 0
jne 0x402202
cmp dword [0x416d14], 0
jne 0x4021f1
push 0x417060
push 0x4171e0
call fcn.00407c20
add esp, 8
mov dword [0x416d14], 1
mov dword [0x416d1c], 0
jmp 0x402200
mov dword [ebp - 0xbc], 1
jmp 0x4022a8
jmp 0x40220c
mov dword [0x416d1c], 0
jmp 0x4022a8
xor edx, edx
mov dl, byte [0x413048]
test edx, edx
je 0x402259
xor eax, eax
mov ax, word [0x41304a]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
push ecx
push 0x4130a4
mov dx, word [0x41304a]
add dx, 1
mov word [0x41304a], dx
call fcn.004082ee
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x402263
mov dword [ebp - 0xe4], 1
mov dword [0x4170a0], 1
mov eax, dword [0x41709c]
push eax
push 0x3e8
push 0x4171e0
call fcn.00407da6
add esp, 0xc
test eax, eax
jne 0x40229e
cmp dword [0x416d1c], 0
jne 0x40229e
mov dword [ebp - 0xbc], 1
jmp 0x4022a8
mov dword [0x416d1c], 0
cmp dword [ebp - 0xbc], 0
je 0x4022b6
jmp 0x402f01
push 0x4171e0
call fcn.004080d0
add esp, 4
cmp eax, 0x3e8
jbe 0x4022d9
mov ecx, dword [str.Command_Input_too_long._Split_the_query_in_more_than_one_line_n]
push ecx
call fcn.004082ee
add esp, 4
mov dword [0x4170a0], 0
mov dword [ebp - 0xc0], 0
push 0x4171e0
call fcn.004080d0
add esp, 4
sub eax, 1
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc0]
movsx eax, byte [edx + 0x4171e0]
cmp eax, 0xa
jne 0x402322
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x4171e0], 0
push 4
push str.quit
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
jne 0x402ed8
push 4
push 0x4130b4
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
jne 0x402ed8
cmp dword [0x416d20], 0
jne 0x402410
push 4
push str.exit
push 0x4171e0
call fcn.00408df0
add esp, 0xc
test eax, eax
jne 0x402410
mov dword [ebp - 0xc4], 0x4171e4
jmp 0x40239e
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4023c9
mov edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
cmp eax, 0x20
je 0x4023c7
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
cmp edx, 9
jne 0x4023c9
jmp 0x40238f
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
cmp ecx, 0x28
jne 0x402410
jmp 0x4023f1
mov edx, dword [ebp - 0xc4]
mov byte [edx], 0x20
mov eax, dword [ebp - 0xc4]
sub eax, 1
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x4171e0
jb 0x4023ff
jmp 0x4023d9
mov dword [0x416d20], 1
mov dword [ebp - 0x18], 1
cmp dword [0x416d20], 0
je 0x4024e5
mov dword [ebp - 0xc8], 0x4171e0
jmp 0x402438
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
test eax, eax
je 0x4024a8
cmp dword [ebp - 0x18], 0
je 0x4024a8
mov ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xe8]
sub eax, 9
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x20
ja case.0x402480.3
mov edx, dword [ebp - 0xe8]
xor ecx, ecx
mov cl, byte [edx + 0x402ffc]
jmp dword [ecx*4 + 0x402fec]
jmp 0x4024a6
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x4024a6
mov ecx, dword [ebp - 0x18]
sub ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x4024a6
mov dword [ebp - 8], 1
jmp 0x402429
cmp dword [ebp - 0x18], 0
jne 0x4024d6
mov edx, dword [ebp - 0xc8]
mov byte [edx - 1], 0
cmp dword [ebp - 8], 0
jne 0x4024d6
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x4c], 1
mov dword [0x416d20], 0
mov dword [ebp - 0xb8], 1
jmp 0x40263a
push 2
push 0x4130c4
push 0x4171e0
call fcn.00408df0
add esp, 0xc
test eax, eax
jne 0x40251f
push 0x4171e2
call fcn.00407d10
add esp, 4
mov ax, word [0x41304a]
sub ax, 1
mov word [0x41304a], ax
jmp 0x402095
push 2
push 0x4130c8
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
je 0x40254f
mov byte [ebp - 0x30], 0
call fcn.00404371
call fcn.004044cb
call fcn.004045c4
jmp 0x402095
push 2
push 0x4130cc
push 0x4171e0
call fcn.00408df0
add esp, 0xc
test eax, eax
jne 0x40259f
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
test ecx, ecx
je 0x40257d
call fcn.00404235
mov byte [ebp - 0x30], 0
call fcn.004046bf
call fcn.00404729
xor edx, edx
mov dx, word [0x4171c0]
add edx, 1
mov word [0x41304a], dx
jmp 0x402095
push 5
push str.reset
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
je 0x4025df
mov byte [0x4171e0], 0
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_34
add esp, 4
mov word [0x41304a], 1
call fcn.00404235
jmp 0x402095
xor ecx, ecx
mov cx, word [0x416cf4]
test ecx, ecx
je 0x402611
xor edx, edx
mov dx, word [0x416cf4]
push edx
push 0x417610
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
je 0x402611
jmp 0x402095
xor eax, eax
mov ax, word [0x41702c]
push eax
push 0x417060
push 0x4171e0
call fcn.00404a19
add esp, 0xc
test eax, eax
jne 0x40263a
mov dword [ebp - 0xb8], 1
cmp dword [ebp - 0xb8], 0
je 0x40274f
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
test ecx, ecx
je 0x40265d
call fcn.00404235
mov byte [ebp - 0x30], 0
call fcn.0040406b
push 0x4171e0
mov edx, dword [0x4175cc]
push edx
call fcn.00407c20
add esp, 8
xor eax, eax
mov ax, word [0x4171c0]
mov ecx, dword [0x4177e8]
mov edx, dword [0x4175cc]
mov dword [ecx + eax*4], edx
mov ax, word [0x4171c0]
add ax, 1
mov word [0x4171c0], ax
push 0x4171e0
call fcn.004080d0
add esp, 4
mov ecx, dword [0x4175cc]
lea edx, [ecx + eax + 1]
mov dword [0x4175cc], edx
push 0x4171e0
call fcn.004080d0
add esp, 4
cmp eax, 0x3e7
je 0x4026fd
cmp dword [0x416ce0], 0
je 0x4026eb
push 0x4130d8
push 0x4171e0
call fcn.00407c30
add esp, 8
jmp 0x4026fd
push 0x4130dc
push 0x4171e0
call fcn.00407c30
add esp, 8
cmp dword [0x416d18], 0
je 0x402727
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_34
add esp, 4
mov word [0x41304a], 2
mov dword [0x416d18], 0
push 0x4171e0
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_17
add esp, 8
cmp dword [0x416d20], 0
je 0x40274a
cmp dword [ebp - 0x18], 0
je 0x40274f
jmp 0x402095
cmp dword [0x416d14], 0
je 0x4027b3
push 0x19
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x416d18], 0
je 0x4027b3
push 0x4130e0
call fcn.004082ee
add esp, 4
mov word [0x41304a], 1
mov byte [0x4171e0], 0
call fcn.00404235
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_34
add esp, 4
mov dword [0x416d14], 0
mov dword [0x416d18], 0
jmp 0x402095
movsx eax, word [0x4175ca]
cmp eax, 1
jge 0x4027c8
mov word [0x4175ca], 1
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
test ecx, ecx
je 0x4027e9
call fcn.00404235
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_34
add esp, 4
xor eax, eax
mov ax, word [0x4171c0]
test eax, eax
jne 0x402803
mov word [0x41304a], 1
jmp 0x402095
call fcn.00407ba1
mov dword [0x4177ec], eax
cmp dword [0x416ce4], 0
je 0x402829
cmp dword [0x416ce8], 0
je 0x402829
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_78
add esp, 4
mov dword [0x416cf0], 0
mov word [ebp - 0x40], 0
jmp 0x402856
mov dx, word [ebp - 0x40]
add dx, 1
mov word [ebp - 0x40], dx
movsx eax, word [ebp - 0x40]
movsx ecx, word [0x4175ca]
cmp eax, ecx
jge 0x402a36
cmp dword [ebp - 0x9c], 0
je 0x40294c
mov word [ebp - 0x44], 0
mov dword [ebp - 0x34], 0x64
push 0
call fcn.00407ac5
add esp, 4
mov dword [ebp - 0x20], eax
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_64
add esp, 4
mov word [ebp - 4], ax
mov eax, dword [ebp - 4]
and eax, 0xffff
test eax, eax
jne 0x402935
movsx ecx, word [ebp - 0x44]
cmp ecx, 5
jge 0x4028c6
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x34]
push ecx
call fcn.00404950
add esp, 8
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x9c]
jle 0x402919
push 0
call fcn.00407ac5
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [str.SQL_Server_connection_timed_out_n]
push eax
call fcn.004082ee
add esp, 4
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
mov word [ebp - 4], 1
jmp 0x40294a
cmp dword [0x416d18], 0
je 0x402933
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x40294a
jmp 0x402945
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_77
add esp, 4
jmp 0x40294a
jmp 0x402890
jmp 0x4029cb
mov dword [ebp - 0x34], 0x64
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_64
add esp, 4
test eax, eax
jne 0x4029a1
cmp dword [0x416d18], 0
je 0x402980
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x4029cb
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x34], 0x3e8
jae 0x40299f
mov ecx, dword [ebp - 0x34]
add ecx, 0xc8
mov dword [ebp - 0x34], ecx
jmp 0x4029c9
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_77
add esp, 4
cmp dword [0x416d18], 0
je 0x4029c7
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x4029cb
jmp 0x402953
movsx ecx, word [ebp - 0x40]
add ecx, 1
movsx edx, word [0x4175ca]
cmp ecx, edx
jge 0x402a31
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_66
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
je 0x402a1c
cmp dword [ebp - 0xc], 0
je 0x402a1c
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_53
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffffe
je 0x402a1a
cmp dword [ebp - 0xc], 0
je 0x402a1a
jmp 0x4029fa
jmp 0x4029dd
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_78
add esp, 4
test eax, eax
jne 0x402a31
jmp 0x402a36
jmp 0x40284a
mov byte [ebp - 0x30], 1
mov eax, dword [ebp - 0x24]
and eax, 0xff
test eax, eax
je 0x402a82
mov dword [ebp - 0x58], 0
jmp 0x402a58
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
xor edx, edx
mov dx, word [0x4171c0]
cmp dword [ebp - 0x58], edx
jge 0x402a82
mov eax, dword [ebp - 0x58]
mov ecx, dword [0x4177e8]
mov edx, dword [ecx + eax*4]
push edx
push 0x4130e4
call fcn.004082ee
add esp, 8
jmp 0x402a4f
mov dword [ebp - 0x58], 0
cmp dword [0x416d20], 0
je 0x402a9c
mov dword [0x416d24], 0xffffff9c
mov dword [ebp - 0x34], 0x64
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_64
add esp, 4
test eax, eax
je 0x402ab7
jmp 0x402af1
cmp dword [0x416d18], 0
je 0x402ad1
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x402af1
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x34], 0x3e8
jae 0x402aef
mov eax, dword [ebp - 0x34]
add eax, 0xc8
mov dword [ebp - 0x34], eax
jmp 0x402aa3
cmp dword [0x416d18], 0
jne 0x402d91
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_66
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
je 0x402d91
cmp dword [0x416cfc], 0
je 0x402b30
push 0x1776
call fcn.004048da
add esp, 4
cmp dword [0x416d00], 0
je 0x402b48
mov edx, dword [0x416d00]
push edx
call fcn.004048da
add esp, 4
cmp dword [0x416d18], 0
je 0x402b64
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x402d91
mov dword [ebp - 0x58], 1
cmp dword [ebp - 0xc], 1
jne 0x402d66
cmp dword [0x416d18], 0
je 0x402b92
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_11
add esp, 4
jmp 0x402d91
cmp dword [0x416d00], 0
je 0x402baa
mov edx, dword [0x416d00]
push edx
call fcn.004048da
add esp, 4
cmp dword [0x416d20], 0
je 0x402c10
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_18
add esp, 4
test eax, eax
je 0x402bd1
mov dword [0x416d24], 0xffffff9b
jmp 0x402c10
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_124
add esp, 4
test eax, eax
je 0x402bfb
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_129
add esp, 4
mov dword [ebp - 0xec], eax
jmp 0x402c05
mov dword [ebp - 0xec], 0xffffff9b
mov eax, dword [ebp - 0xec]
mov dword [0x416d24], eax
mov ecx, dword [0x417698]
push ecx
call fcn.00407064
add esp, 4
test eax, eax
jne 0x402c28
jmp 0x402d91
cmp dword [0x416d18], 0
jne 0x402c8f
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_18
add esp, 4
cmp eax, 1
jne 0x402c8f
push 0x4130e8
call fcn.004082ee
add esp, 4
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_121
add esp, 4
test eax, eax
je 0x402c7c
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_25
add esp, 4
push eax
call fcn.004030d5
add esp, 4
mov dword [0x416cf0], 0
mov dword [ebp - 0x54], 1
jmp 0x402cfb
cmp dword [0x416d18], 0
jne 0x402ccb
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_121
add esp, 4
test eax, eax
je 0x402ccb
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_25
add esp, 4
push eax
call fcn.004030d5
add esp, 4
mov dword [ebp - 0x54], 1
jmp 0x402cfb
cmp dword [0x416cfc], 0
je 0x402ce3
push 0x1776
call fcn.004048da
add esp, 4
jmp 0x402cfb
cmp dword [0x416d00], 0
je 0x402cfb
mov ecx, dword [0x416d00]
push ecx
call fcn.004048da
add esp, 4
movsx edx, word [0x4175ca]
cmp edx, 1
jle 0x402d2d
mov eax, dword [ebp - 0xb0]
and eax, 0xff
test eax, eax
jne 0x402d2d
movsx ecx, word [0x4175ca]
push ecx
mov edx, dword [str._d_xacts:_n]
push edx
call fcn.004082ee
add esp, 8
cmp dword [0x416d18], 0
jne 0x402d66
mov eax, dword [ebp - 0xb0]
and eax, 0xff
test eax, eax
je 0x402d66
call fcn.00407ba1
mov dword [0x417030], eax
mov ecx, dword [0x417030]
sub ecx, dword [0x4177ec]
mov dword [0x4177e0], ecx
call fcn.0040429b
cmp dword [0x416d20], 0
je 0x402d8c
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_49
add esp, 4
test eax, eax
je 0x402d8c
mov dword [0x416d24], 0xffffff9c
jmp 0x402afe
cmp dword [0x416d00], 0
je 0x402da8
mov eax, dword [0x416d00]
push eax
call fcn.004048da
add esp, 4
cmp dword [0x416d20], 0
je 0x402e24
mov dword [ebp - 0xcc], 0
mov ecx, dword [0x416d24]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0xffffff9a
je 0x402de9
cmp dword [ebp - 0xf0], 0xffffff9b
je 0x402ddb
jmp 0x402df4
mov edx, dword [str.Isql:__No_rows_found_when_selecting_exit_value._n]
mov dword [ebp - 0xcc], edx
jmp 0x402df4
mov eax, dword [str.Isql:__Error_converting_exit_value._n]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x402e1f
push 0
push 0
push 0
mov ecx, dword [ebp - 0xcc]
push ecx
push 0xf
push 0x65
push 0
mov edx, dword [0x417698]
push edx
call fcn.004034c1
add esp, 0x20
jmp 0x402f01
mov word [0x4175ca], 1
cmp dword [ebp - 0x58], 0
jne 0x402e66
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_18
add esp, 4
cmp eax, 1
jne 0x402e66
mov ecx, dword [0x417698]
push ecx
call fcn.00407064
add esp, 4
mov edx, dword [str._n_0_rows_affected__n]
push edx
call fcn.004082ee
add esp, 4
jmp 0x402e96
mov eax, dword [0x417698]
push eax
call sub.ntwdblib.dll_Ordinal_121
add esp, 4
test eax, eax
je 0x402e96
cmp dword [ebp - 0x54], 0
jne 0x402e96
mov ecx, dword [0x417698]
push ecx
call sub.ntwdblib.dll_Ordinal_25
add esp, 4
push eax
call fcn.004030d5
add esp, 4
cmp dword [0x417698], 0
je 0x402eb2
mov edx, dword [0x417698]
push edx
call sub.ntwdblib.dll_Ordinal_30
add esp, 4
test eax, eax
je 0x402ebc
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov dword [0x416d18], 0
mov dword [ebp - 0x54], 0
mov word [0x41304a], 1
jmp 0x402efc
push 0x4171e0
call fcn.004080d0
add esp, 4
cmp eax, 4
jbe 0x402efa
movsx eax, byte [0x4171e4]
cmp eax, 0x20
jne 0x402ef8
jmp 0x402f01
jmp 0x402efc
jmp 0x402f01
jmp 0x402095
push 0x413f10
call fcn.004079b8
add esp, 4
call sub.ntwdblib.dll_Ordinal_32
cmp dword [0x416ce4], 0
je 0x402f2f
cmp dword [0x416ce8], 0
je 0x402f2f
push 0xffffffffffffffff
call fcn.004048da
add esp, 4
mov ecx, dword [0x416d24]
push ecx
call fcn.004048da
add esp, 4
mov esp, ebp
pop ebp
ret