Function at 0x401000
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8a4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x444], eax
mov byte [ebp - 0x440], 0
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x24], 0
mov byte [ebp - 0x454], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x438], 0
mov word [ebp - 0x10], 8
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 1
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x34], 0
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x14], 0
call fcn.004057b3
push str..OCP
push 0
call fcn.00408bc0
add esp, 8
test eax, eax
je 0x4010c8
push 0xfffffffffffffffe
call fcn.004088e0
add esp, 4
cmp eax, 0xffffffff
jne 0x4010dc
push 0x2e
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0x41e450
push 0
push 1
call sub.ODBC32.dll_SQLAllocHandle
movsx edx, ax
cmp edx, 0xffffffff
jne 0x401106
push 0x28
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0
push 3
push 0xc8
mov eax, dword [0x41e450]
push eax
call sub.ODBC32.dll_SQLSetEnvAttr
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
test ecx, ecx
je 0x40114a
mov edx, dword [0x41e450]
push edx
push 1
call fcn.00405451
add esp, 8
movsx eax, word [ebp - 8]
cmp eax, 0xffffffff
jne 0x40114a
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0x41e454
mov ecx, dword [0x41e450]
push ecx
push 2
call sub.ODBC32.dll_SQLAllocHandle
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x40118c
mov eax, dword [0x41e450]
push eax
push 1
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x40118c
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
mov byte [0x41f620], 0
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp + 8], 0
jle 0x40204a
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x4011cd
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
cmp eax, 0x2f
jne 0x40204a
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]
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x888]
sub ecx, 0x45
mov dword [ebp - 0x888], ecx
cmp dword [ebp - 0x888], 0x35
ja case.0x401212.33
mov eax, dword [ebp - 0x888]
xor edx, edx
mov dl, byte [eax + 0x40384a]
jmp dword [edx*4 + 0x4037c2]
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 0x40126a
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x40126a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x40126a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x40126a
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 0x80
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x41f780
call fcn.004087e0
add esp, 0xc
mov byte [0x41f800], 0
push 0x41f780
push str.user_name____s_n
call fcn.004038b5
add esp, 8
movsx eax, byte [0x41f780]
test eax, eax
jne 0x4012b3
push str.user_name_is_null_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x401309
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401309
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401309
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401309
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 byte [ebp - 0x440], 1
push 0x80
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x41f620
call fcn.004087e0
add esp, 0xc
mov byte [0x41f6a0], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str.password____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401398
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401398
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401398
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401398
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 str.mixed_integrated_security_set__n
call fcn.004038b5
add esp, 4
mov byte [ebp - 0x38], 1
jmp 0x402045
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 0x4013ff
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x4013ff
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4013ff
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x4013ff
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 0x80
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x41ea40
call fcn.004087e0
add esp, 0xc
mov byte [0x41eac0], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push str.host_name____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401487
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401487
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401487
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401487
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.00408730
add esp, 4
mov dword [ebp - 0x450], eax
cmp dword [ebp - 0x450], 0x200
jb 0x4014b3
cmp dword [ebp - 0x450], 0xffff
jbe 0x4014c7
push 0x29
call fcn.0040566f
add esp, 4
mov dword [ebp - 0x450], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push str.packet_size____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401530
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401530
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401530
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401530
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.00408730
add esp, 4
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str.server_code_page_____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x4015aa
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x4015aa
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x4015aa
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x4015aa
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.00408730
add esp, 4
mov dword [0x41e46c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push str.Severity_Level_to_return____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
mov dword [0x41e404], 1
jmp 0x402045
mov dword [0x41e40c], 1
jmp 0x402045
cmp dword [ebp - 0x444], 2
jne 0x40160b
call fcn.00403a65
push 0
call fcn.00404fcf
add esp, 4
jmp 0x402045
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 0x401661
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401661
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401661
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401661
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 0x3d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 0x41f940
call fcn.004087e0
add esp, 0xc
mov byte [0x41f97d], 0
push 0x41f940
push str.server_name____S_n
call fcn.004038b5
add esp, 8
movsx edx, byte [0x41f940]
test edx, edx
jne 0x4016a7
push 0x41a1d0
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x4016fd
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x4016fd
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x4016fd
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x4016fd
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.004087d0
add esp, 4
mov dword [ebp - 0x438], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x41a200
call fcn.004038b5
add esp, 8
mov ecx, dword [ebp - 0x438]
push ecx
push 0x41a21c
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401772
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401772
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 9
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x41f6c0
call fcn.004085f0
add esp, 0xc
mov word [0x41f6d2], 0
push 0x41f6c0
call fcn.004085d0
add esp, 4
mov word [0x41e418], ax
push 0x41f6c0
push str.comment_string_____S_n
call fcn.004038b5
add esp, 8
movsx ecx, byte [0x41f940]
test ecx, ecx
jne 0x4017cd
push str.server_name_not_given_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x401823
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401823
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401823
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401823
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.004087d0
add esp, 4
mov word [ebp - 0x10], ax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push str._l_flag____S_n
call fcn.004038b5
add esp, 8
mov eax, dword [ebp - 0x10]
and eax, 0xffff
push eax
push str.login_timeout____d_n
call fcn.004038b5
add esp, 8
jmp 0x402045
mov dword [ebp - 0x3a8], 1
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 0x4018be
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x4018be
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x4018be
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x4018be
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
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_CharToOemA]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.00408550
add esp, 4
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x41ee40
call fcn.004085f0
add esp, 0xc
mov dword [ebp - 0xc], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str._t_flag____S_n
call fcn.004038b5
add esp, 8
mov edx, dword [ebp - 0x438]
push edx
push str.timeout____d_n
call fcn.004038b5
add esp, 8
jmp 0x402045
mov dword [0x41a030], 0
push str.remove_prompt__numbering_n
call fcn.004038b5
add esp, 4
jmp 0x402045
mov dword [0x41e440], 1
push str.Regionalization_of_output_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x4019ae
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x4019ae
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x4019ae
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x4019ae
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.00408730
add esp, 4
mov dword [0x41e410], eax
push str.Text_limit_stored_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x401a24
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401a24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401a24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401a24
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.004084d0
add esp, 4
cmp eax, 0x13
jbe 0x401a57
push 0x13
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 0x41ea00
call fcn.004085f0
add esp, 0xc
mov word [0x41ea28], 0
jmp 0x401a79
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004084d0
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x41ea00
call fcn.004085f0
add esp, 0xc
push 0x41ea00
push str.command_terminator____s_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401ae1
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401ae1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401ae1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401ae1
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 dword [0x41a038], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
test eax, eax
je 0x401b24
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401b24
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401b24
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.004087d0
add esp, 4
mov dword [0x41a038], eax
jmp 0x402045
mov byte [ebp - 0x24], 1
push str.echo_input_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x401b90
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401b90
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401b90
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401b90
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
push str._m_flag_found____S_n
call fcn.004038b5
add esp, 8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.004087d0
add esp, 4
mov word [0x41e41c], ax
mov dword [0x41e420], 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push str._m_flag_converted____S_n
call fcn.004038b5
add esp, 8
movsx eax, word [0x41e41c]
push eax
push str.minErrLevel____d_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401c3f
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401c3f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401c3f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401c3f
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.004087d0
add esp, 4
mov dword [0x41aba8], eax
mov dword [0x41e430], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str._w_flag____S_n
call fcn.004038b5
add esp, 8
mov edx, dword [0x41aba8]
push edx
push str.dbColWidth____d_n
call fcn.004038b5
add esp, 8
cmp dword [0x41aba8], 8
jg 0x401ca0
push 0x23
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
jmp 0x402045
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 0x401cf6
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401cf6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401cf6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401cf6
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 0x80
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 0x41f6e0
call fcn.004087e0
add esp, 0xc
mov byte [0x41f760], 0
push 0x41f6e0
push str.database_name____S_n
call fcn.004038b5
add esp, 8
movsx edx, byte [0x41f6e0]
test edx, edx
jne 0x401d3f
push str.database_name_not_given_n
call fcn.004038b5
add esp, 4
jmp 0x402045
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 0x401d95
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401d95
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401d95
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401d95
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 3
push 0
lea eax, [ebp - 0x458]
push eax
call fcn.00408470
add esp, 0xc
push 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x458]
push eax
call fcn.004083e0
add esp, 0xc
lea ecx, [ebp - 0x458]
push ecx
lea edx, [ebp - 0x458]
push edx
call dword [sym.imp.USER32.dll_CharToOemA]
push 1
lea eax, [ebp - 0x458]
push eax
push 0x41abac
call fcn.004085f0
add esp, 0xc
push 0x41abac
push str.dbSeparator____S_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401e51
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401e51
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401e51
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401e51
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.004087d0
add esp, 4
mov dword [0x41e47c], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str._h_flag____s_n
call fcn.004038b5
add esp, 8
mov edx, dword [0x41e47c]
push edx
push str.rowGroupNum____d_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401ee1
mov eax, dword [ebp + 8]
sub eax, 1
test eax, eax
je 0x401ee1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
je 0x401ee1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401ee1
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
push 0x41ed20
call fcn.00407c70
add esp, 8
push 0x41ed20
push str.input_file_name____s_n
call fcn.004038b5
add esp, 8
jmp 0x402045
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 0x401f5c
mov edx, dword [ebp + 8]
sub edx, 1
test edx, edx
je 0x401f5c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x401f5c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
movsx edx, byte [ecx]
cmp edx, 0x2f
je 0x401f5c
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 0x41faa0
call fcn.00407c70
add esp, 8
mov dword [0x41e434], 1
jmp 0x402045
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 0x401fcf
mov ecx, dword [ebp + 8]
sub ecx, 1
test ecx, ecx
je 0x401fcf
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x401fcf
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x401fcf
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 dword [0x41e400], 1
push str.OLDISQLBehave_is_turned_on
call fcn.004038b5
add esp, 4
jmp 0x402045
mov byte [ebp - 0x454], 1
push str.performance_stats_n
call fcn.004038b5
add esp, 4
jmp 0x402045
mov dword [ebp - 0x3a4], 0
push str.eofScripts_set_to_true_n
call fcn.004038b5
add esp, 4
jmp 0x402045
mov dword [ebp - 0x14], 1
push str.Force_output_file_to_Unicode_n
call fcn.004038b5
add esp, 4
jmp 0x402045
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.004045ac
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
jmp 0x401193
cmp dword [ebp + 8], 0
jle 0x402068
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.004045ac
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
movsx edx, byte [0x41f940]
test edx, edx
jne 0x40207d
push 2
call fcn.00404692
add esp, 4
xor eax, eax
mov ax, word [0x41ea00]
test eax, eax
jne 0x40209b
push 0x41a668
push 0x41ea00
call fcn.00407b10
add esp, 8
push 0x41ea00
call fcn.004085d0
add esp, 4
mov word [0x41e94c], ax
push str.EDITOR
call fcn.00408350
add esp, 4
mov dword [0x41eaf8], eax
cmp dword [0x41eaf8], 0
jne 0x4020d3
mov dword [0x41eaf8], str.EDIT
movsx ecx, byte [0x41ed20]
test ecx, ecx
je 0x40213b
push 0x41a040
push 0x41e448
push 0x41ed20
call fcn.004038ba
add esp, 0xc
test eax, eax
je 0x402139
push 0x100
push 0x41eb00
push 5
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.004056a9
push 0x41ed20
push 0x41eb00
call fcn.00408310
add esp, 8
push 6
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
jmp 0x402145
mov dword [0x41e448], 0x41ac90
movsx edx, byte [0x41faa0]
test edx, edx
je 0x4022aa
mov dword [ebp - 0x45c], 0
cmp dword [ebp - 0x14], 0
je 0x402170
mov dword [0x41a03c], 1
jmp 0x40217a
mov eax, dword [0x41a040]
mov dword [0x41a03c], eax
cmp dword [0x41a03c], 3
je 0x40218c
cmp dword [0x41a03c], 2
jne 0x4021a5
push 0x41a680
push 0x41faa0
call fcn.00408210
add esp, 8
mov dword [0x41e44c], eax
jmp 0x4021d1
cmp dword [0x41a03c], 1
jne 0x4021c7
push 0x41a684
push 0x41faa0
call fcn.00408210
add esp, 8
mov dword [0x41e44c], eax
jmp 0x4021d1
mov dword [0x41e44c], 0
cmp dword [0x41e44c], 0
je 0x402255
push 1
mov ecx, dword [0x41e44c]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00408000
add esp, 8
test eax, eax
jne 0x402249
cmp dword [0x41a03c], 1
jne 0x402247
mov word [ebp - 0x460], 0xfeff
push 0x41acb0
push 1
push 2
lea eax, [ebp - 0x460]
push eax
call fcn.00407eb0
add esp, 0x10
cmp eax, 1
je 0x40222d
mov dword [ebp - 0x45c], 1
jmp 0x402247
push 0x41acd0
call fcn.00407d60
add esp, 4
push 0x41acb0
call fcn.00407d60
add esp, 4
jmp 0x402253
mov dword [ebp - 0x45c], 1
jmp 0x40225f
mov dword [ebp - 0x45c], 1
cmp dword [ebp - 0x45c], 1
jne 0x4022a8
push 0x100
push 0x41eb00
push 1
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.004056a9
push 0x41faa0
push 0x41eb00
call fcn.00408310
add esp, 8
push 2
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
jmp 0x4022b4
mov dword [0x41a03c], 3
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x41f6a4], eax
push 0
mov ecx, dword [ebp - 0x10]
and ecx, 0xffff
push ecx
push 0x67
mov edx, dword [0x41e454]
push edx
call sub.ODBC32.dll_SQLSetConnectAttrW
mov word [ebp - 8], ax
movsx eax, word [ebp - 8]
test eax, eax
je 0x40230b
mov ecx, dword [0x41e454]
push ecx
push 2
call fcn.00405451
add esp, 8
movsx edx, word [ebp - 8]
cmp edx, 0xffffffff
jne 0x40230b
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
cmp dword [ebp - 0x450], 0
je 0x40235a
push 0
mov eax, dword [ebp - 0x450]
push eax
push 0x70
mov ecx, dword [0x41e454]
push ecx
call sub.ODBC32.dll_SQLSetConnectAttrW
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x40235a
mov eax, dword [0x41e454]
push eax
push 2
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x40235a
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
cmp dword [0x41e40c], 0
je 0x402378
push 1
push 0x4c1
mov edx, dword [0x41e454]
push edx
call sub.ODBC32.dll_SQLSetConnectOptionW
jmp 0x40238a
push 0
push 0x4c1
mov eax, dword [0x41e454]
push eax
call sub.ODBC32.dll_SQLSetConnectOptionW
push str.DriverSQL_Server_Server
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407c70
add esp, 8
push 0x41f940
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
mov eax, dword [ebp - 0x38]
and eax, 0xff
test eax, eax
je 0x4023d7
push str._Trusted_ConnectionYES
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407c80
add esp, 8
jmp 0x402494
push str._UID
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
movsx eax, byte [0x41f780]
test eax, eax
jne 0x402404
push 0
call fcn.00404692
add esp, 4
test eax, eax
je 0x40241a
push 0x41f780
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407c80
add esp, 8
jmp 0x402433
call fcn.00404654
push 0x41e960
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
mov eax, dword [ebp - 0x440]
and eax, 0xff
test eax, eax
jne 0x40246c
push 1
call fcn.00404692
add esp, 4
test eax, eax
jne 0x40245a
call fcn.00404748
call fcn.004047d4
push 0x41f620
push str.got_the_password___S_n
call fcn.004038b5
add esp, 8
push str._PWD
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407c80
add esp, 8
push 0x41f620
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
push str._APPOSQL_32_WSID
lea eax, [ebp - 0x39c]
push eax
call fcn.00407c80
add esp, 8
movsx ecx, byte [0x41ea40]
test ecx, ecx
je 0x4024c9
push 0x41ea40
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
jmp 0x40250d
push 0x40
lea eax, [ebp - 0x434]
push eax
push str.COMPUTERNAME
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x4024f7
push str.Win32_PC_Client
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407c80
add esp, 8
jmp 0x40250d
lea edx, [ebp - 0x434]
push edx
lea eax, [ebp - 0x39c]
push eax
call fcn.00407c80
add esp, 8
movsx ecx, byte [0x41f6e0]
test ecx, ecx
je 0x402540
push str._DATABASE
lea edx, [ebp - 0x39c]
push edx
call fcn.00407c80
add esp, 8
push 0x41f6e0
lea eax, [ebp - 0x39c]
push eax
call fcn.00407c80
add esp, 8
push 0x41f940
push str.calling_SQLDriverConnect____server_name_is:__S_n
call fcn.004038b5
add esp, 8
push 0
push 0
push 0
push 0
push 0xfffffffffffffffd
lea ecx, [ebp - 0x39c]
push ecx
push 0
mov edx, dword [0x41e454]
push edx
call sub.ODBC32.dll_SQLDriverConnectA
mov word [ebp - 8], ax
movsx eax, word [ebp - 8]
test eax, eax
je 0x4025a1
mov ecx, dword [0x41e454]
push ecx
push 2
call fcn.00405451
add esp, 8
movsx edx, word [ebp - 8]
cmp edx, 0xffffffff
jne 0x4025a1
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push str.Connected_to_server__n
call fcn.004038b5
add esp, 4
cmp dword [ebp - 0x34], 0
je 0x4025fa
push 0xfffffffffffffffb
mov eax, dword [ebp - 0x34]
push eax
push 0x91a7
mov ecx, dword [0x41e454]
push ecx
call sub.ODBC32.dll_SQLSetConnectAttrW
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x4025fa
mov eax, dword [0x41e454]
push eax
push 2
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x4025fa
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0x41e458
mov edx, dword [0x41e454]
push edx
push 3
call sub.ODBC32.dll_SQLAllocHandle
mov word [ebp - 8], ax
movsx eax, word [ebp - 8]
test eax, eax
je 0x40263d
mov ecx, dword [0x41e454]
push ecx
push 2
call fcn.00405451
add esp, 8
movsx edx, word [ebp - 8]
cmp edx, 0xffffffff
jne 0x40263d
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0xfffffffffffffffb
mov eax, dword [ebp - 0x438]
push eax
push 0
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLSetStmtAttrW
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x402683
mov eax, dword [0x41e458]
push eax
push 3
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x402683
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
cmp dword [0x41e410], 0
je 0x4026df
push 0xfffffffffffffffb
mov edx, dword [0x41e410]
push edx
push 3
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLSetStmtAttrW
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
test ecx, ecx
je 0x4026d2
mov edx, dword [0x41e458]
push edx
push 3
call fcn.00405451
add esp, 8
movsx eax, word [ebp - 8]
cmp eax, 0xffffffff
jne 0x4026d2
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push str.textlimit_set__n
call fcn.004038b5
add esp, 4
cmp dword [0x41e440], 0
je 0x402739
push 0xfffffffffffffffb
push 1
push 0x4cd
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLSetStmtAttrW
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x40272c
mov eax, dword [0x41e458]
push eax
push 3
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x40272c
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push str.Regionalization_set__n
call fcn.004038b5
add esp, 4
push 1
push 0x404f29
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x40275e
push 3
call fcn.0040566f
add esp, 4
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0x1000
push 0x400
push 0x41f980
call fcn.004052f0
add esp, 0xc
cmp dword [0x41e434], 0
jne 0x4027b2
cmp dword [0x41e430], 0
jne 0x4027b2
cmp dword [0x41e400], 0
jne 0x4027b2
push 0x41eae0
mov edx, dword [0x41f6a4]
push edx
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x4027b2
movsx eax, word [0x41eae0]
mov dword [0x41aba8], eax
mov ecx, 1
test ecx, ecx
je 0x403787
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x88c], edx
cmp dword [ebp - 0x88c], 1
je 0x4027f9
cmp dword [ebp - 0x88c], 2
je 0x402805
cmp dword [ebp - 0x88c], 3
je 0x40282c
jmp 0x40284a
mov dword [ebp - 0xc], 2
jmp 0x4029c5
push 0x41ea00
push 0x41ee40
call fcn.00407b10
add esp, 8
mov eax, dword [ebp - 0x3a8]
neg eax
sbb eax, eax
and eax, 3
mov dword [ebp - 0xc], eax
jmp 0x4029c5
push 0x41a810
push 0x41ee40
call fcn.00407b10
add esp, 8
mov dword [ebp - 0xc], 0
jmp 0x4029c5
cmp dword [0x41e400], 0
jne 0x40292f
cmp dword [0x41e444], 0
jne 0x4028b8
cmp dword [0x41a030], 0
je 0x4028a4
xor ecx, ecx
mov cx, word [0x41a034]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x890]
push edx
push 0x41a81c
mov ax, word [0x41a034]
add ax, 1
mov word [0x41a034], ax
call fcn.00408310
add esp, 8
mov dword [ebp - 0x894], eax
jmp 0x4028ae
mov dword [ebp - 0x894], 1
mov dword [0x41ed00], 1
mov ecx, dword [0x41e448]
push ecx
push 0x3e8
push 0x41ee40
call fcn.00407c00
add esp, 0xc
test eax, eax
jne 0x402920
cmp dword [0x41e460], 0
jne 0x402920
cmp dword [0x41e444], 0
jne 0x40290f
push 0x41ea00
push 0x41ee40
call fcn.00407b10
add esp, 8
mov dword [0x41e444], 1
mov dword [0x41e460], 0
jmp 0x40291e
mov dword [ebp - 0x468], 1
jmp 0x4029c5
jmp 0x40292a
mov dword [0x41e460], 0
jmp 0x4029c5
cmp dword [0x41a030], 0
je 0x402975
xor edx, edx
mov dx, word [0x41a034]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x898]
push eax
push 0x41a828
mov cx, word [0x41a034]
add cx, 1
mov word [0x41a034], cx
call fcn.00408310
add esp, 8
mov dword [ebp - 0x89c], eax
jmp 0x40297f
mov dword [ebp - 0x89c], 1
mov dword [0x41ed00], 1
mov edx, dword [0x41e448]
push edx
push 0x3e8
push 0x41ee40
call fcn.00407c00
add esp, 0xc
test eax, eax
jne 0x4029bb
cmp dword [0x41e460], 0
jne 0x4029bb
mov dword [ebp - 0x468], 1
jmp 0x4029c5
mov dword [0x41e460], 0
cmp dword [ebp - 0x468], 0
je 0x4029d3
jmp 0x403787
push 0x41ee40
call fcn.004085d0
add esp, 4
cmp eax, 0x3e8
jbe 0x4029f1
push 0x22
call fcn.0040566f
add esp, 4
mov dword [0x41ed00], 0
push 0x41ee40
call fcn.004085d0
add esp, 4
sub eax, 1
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
xor ecx, ecx
mov cx, word [eax*2 + 0x41ee40]
cmp ecx, 0xa
jne 0x402a6f
cmp dword [0x41a040], 1
jne 0x402a5f
cmp dword [ebp - 0x3ac], 0
jle 0x402a5d
mov edx, dword [ebp - 0x3ac]
xor eax, eax
mov ax, word [edx*2 + 0x41ee3e]
cmp eax, 0xd
jne 0x402a5d
mov ecx, dword [ebp - 0x3ac]
mov word [ecx*2 + 0x41ee3e], 0
jmp 0x402a6f
mov edx, dword [ebp - 0x3ac]
mov word [edx*2 + 0x41ee40], 0
push 4
push str.quit
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
jne 0x40375c
push 4
push 0x41a840
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
jne 0x40375c
cmp dword [0x41e464], 0
jne 0x402b67
push 4
push str.exit
push 0x41ee40
call fcn.00407b40
add esp, 0xc
test eax, eax
jne 0x402b67
mov dword [ebp - 0x46c], 0x41ee48
jmp 0x402aeb
mov eax, dword [ebp - 0x46c]
add eax, 2
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x46c]
xor edx, edx
mov dx, word [ecx]
test edx, edx
je 0x402b1c
mov eax, dword [ebp - 0x46c]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0x20
je 0x402b1a
mov edx, dword [ebp - 0x46c]
xor eax, eax
mov ax, word [edx]
cmp eax, 9
jne 0x402b1c
jmp 0x402adc
mov ecx, dword [ebp - 0x46c]
xor edx, edx
mov dx, word [ecx]
cmp edx, 0x28
jne 0x402b67
jmp 0x402b48
mov eax, dword [ebp - 0x46c]
mov word [eax], 0x20
mov ecx, dword [ebp - 0x46c]
sub ecx, 2
mov dword [ebp - 0x46c], ecx
cmp dword [ebp - 0x46c], 0x41ee40
jb 0x402b56
jmp 0x402b2e
mov dword [0x41e464], 1
mov dword [ebp - 0x18], 1
cmp dword [0x41e464], 0
je 0x402c48
mov dword [ebp - 0x470], 0x41ee40
jmp 0x402b8f
mov edx, dword [ebp - 0x470]
add edx, 2
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x470]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
je 0x402c06
cmp dword [ebp - 0x18], 0
je 0x402c06
mov edx, dword [ebp - 0x470]
xor eax, eax
mov ax, word [edx]
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x8a0]
sub ecx, 9
mov dword [ebp - 0x8a0], ecx
cmp dword [ebp - 0x8a0], 0x20
ja case.0x402bdb.4
mov eax, dword [ebp - 0x8a0]
xor edx, edx
mov dl, byte [eax + 0x403894]
jmp dword [edx*4 + 0x403880]
jmp 0x402c01
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x402c01
mov edx, dword [ebp - 0x18]
sub edx, 1
mov dword [ebp - 0x18], edx
jmp 0x402c01
mov dword [ebp - 4], 1
jmp 0x402b80
cmp dword [ebp - 0x18], 0
jne 0x402c39
mov eax, dword [ebp - 0x470]
mov word [eax - 2], 0
cmp dword [ebp - 4], 0
jne 0x402c39
mov dword [ebp - 0xc], 2
mov dword [ebp - 0x3a8], 1
mov dword [0x41e464], 0
mov dword [ebp - 0x464], 1
jmp 0x402db0
push 2
push 0x41a858
push 0x41ee40
call fcn.00407b40
add esp, 0xc
test eax, eax
jne 0x402c8d
push 0x41acb0
call fcn.00407d60
add esp, 4
mov ecx, dword [0x41a03c]
push ecx
mov edx, dword [0x41e44c]
push edx
push 0x41ee44
call fcn.00405885
add esp, 0xc
jmp 0x4027b2
push 2
push 0x41a860
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
je 0x402cb8
mov byte [ebp - 0x2c], 0
call fcn.0040498a
call fcn.00404bc4
jmp 0x4027b2
push 2
push 0x41a868
push 0x41ee40
call fcn.00407b40
add esp, 0xc
test eax, eax
jne 0x402d11
mov eax, dword [ebp - 0x2c]
and eax, 0xff
test eax, eax
je 0x402ced
mov ecx, dword [0x41f980]
mov dword [ecx + 4], 0
mov byte [ebp - 0x2c], 0
call fcn.00404d71
call fcn.00404de0
mov edx, dword [0x41f980]
cmp dword [edx + 4], 0
jne 0x402d0c
mov word [0x41ee20], 0
jmp 0x4027b2
push 5
push str.reset
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
je 0x402d55
mov word [0x41ee40], 0
mov word [0x41a034], 1
mov eax, dword [0x41f980]
mov dword [eax + 4], 0
mov word [0x41ee20], 0
jmp 0x4027b2
xor ecx, ecx
mov cx, word [0x41e418]
test ecx, ecx
je 0x402d87
xor edx, edx
mov dx, word [0x41e418]
push edx
push 0x41f6c0
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
je 0x402d87
jmp 0x4027b2
xor eax, eax
mov ax, word [0x41e94c]
push eax
push 0x41ea00
push 0x41ee40
call fcn.0040512a
add esp, 0xc
test eax, eax
jne 0x402db0
mov dword [ebp - 0x464], 1
cmp dword [ebp - 0x464], 0
je 0x402e7f
mov ecx, dword [ebp - 0x2c]
and ecx, 0xff
test ecx, ecx
je 0x402ddb
mov edx, dword [0x41f980]
mov dword [edx + 4], 0
mov byte [ebp - 0x2c], 0
push 0x41ee40
call fcn.004085d0
add esp, 4
cmp eax, 0x3e7
je 0x402e1e
cmp dword [0x41e400], 0
je 0x402e0c
push 0x41a87c
push 0x41ee40
call fcn.00407ad0
add esp, 8
jmp 0x402e1e
push 0x41a880
push 0x41ee40
call fcn.00407ad0
add esp, 8
push 0xfffffffffffffffd
push 0x41ee40
push 0x41f980
call fcn.0040534b
add esp, 0xc
mov ax, word [0x41ee20]
add ax, 1
mov word [0x41ee20], ax
cmp dword [0x41e45c], 0
je 0x402e6b
mov ecx, dword [0x41f980]
mov dword [ecx + 4], 0
mov word [0x41a034], 2
mov dword [0x41e45c], 0
cmp dword [0x41e464], 0
je 0x402e7a
cmp dword [ebp - 0x18], 0
je 0x402e7f
jmp 0x4027b2
cmp dword [0x41e444], 0
je 0x402ee0
push 0x19
call fcn.004050b5
add esp, 4
cmp dword [0x41e45c], 0
je 0x402ee0
push 0x41a888
call fcn.00405b30
add esp, 4
mov word [0x41ee40], 0
mov word [0x41a034], 1
mov edx, dword [0x41f980]
mov dword [edx + 4], 0
mov dword [0x41e444], 0
mov dword [0x41e45c], 0
jmp 0x4027b2
movsx eax, word [0x41f614]
cmp eax, 1
jge 0x402ef5
mov word [0x41f614], 1
mov ecx, dword [ebp - 0x2c]
and ecx, 0xff
test ecx, ecx
je 0x402f18
mov edx, dword [0x41f980]
mov dword [edx + 4], 0
mov word [0x41ee20], 0
xor eax, eax
mov ax, word [0x41ee20]
test eax, eax
jne 0x402f32
mov word [0x41a034], 1
jmp 0x4027b2
call fcn.00407a70
mov dword [0x41f924], eax
cmp dword [0x41e404], 0
je 0x402f58
cmp dword [0x41e408], 0
je 0x402f58
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
push 0
movsx ecx, word [0x41f614]
push ecx
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLParamOptions
movsx eax, ax
test eax, eax
je 0x402f86
mov ecx, dword [0x41e458]
push ecx
push 3
call fcn.00405451
add esp, 8
mov dword [0x41e414], 0
mov word [ebp - 0x3a0], 0
mov dword [ebp - 0x30], 0x64
cmp dword [ebp - 0x438], 0
je 0x402fb6
push 0
call fcn.00407940
add esp, 4
mov dword [ebp - 0x20], eax
push 0xfffffffffffffffb
push 1
push 4
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLSetStmtAttrW
mov word [ebp - 8], ax
movsx eax, word [ebp - 8]
test eax, eax
je 0x402ff8
mov ecx, dword [0x41e458]
push ecx
push 3
call fcn.00405451
add esp, 8
movsx edx, word [ebp - 8]
cmp edx, 0xffffffff
jne 0x402ff8
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
mov eax, dword [0x41f980]
mov ecx, dword [eax + 4]
shr ecx, 1
push ecx
mov edx, dword [0x41f980]
add edx, 0xc
push edx
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLExecDirectW
mov word [ebp - 8], ax
movsx ecx, word [ebp - 8]
cmp ecx, 2
jne 0x4030ea
mov edx, dword [0x41e458]
push edx
push 3
call fcn.00405451
add esp, 8
cmp dword [ebp - 0x438], 0
je 0x4030be
movsx eax, word [ebp - 0x3a0]
cmp eax, 5
jge 0x40305b
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004050b5
add esp, 4
lea edx, [ebp - 0x3a0]
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.004050c7
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
and ecx, 0xffff
cmp ecx, dword [ebp - 0x438]
jle 0x4030a8
push 0
call fcn.00407940
add esp, 4
mov dword [ebp - 0x20], eax
push 7
call fcn.0040566f
add esp, 4
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLCancel
cmp dword [0x41e45c], 0
je 0x4030bc
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLCancel
jmp 0x4030e5
cmp dword [0x41e45c], 0
je 0x4030d5
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLCancel
jmp 0x4030e5
cmp dword [ebp - 0x30], 0
je 0x4030e5
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x402ff8
movsx eax, word [ebp - 8]
test eax, eax
je 0x40311b
mov ecx, dword [0x41e458]
push ecx
push 3
call fcn.00405451
add esp, 8
movsx edx, word [ebp - 8]
cmp edx, 1
je 0x403115
movsx eax, word [ebp - 8]
cmp eax, 0x64
jne 0x40311b
mov word [ebp - 8], 0
push 0xfffffffffffffffb
push 0
push 4
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLSetStmtAttrW
mov word [ebp - 8], ax
movsx edx, word [ebp - 8]
test edx, edx
je 0x40315c
mov eax, dword [0x41e458]
push eax
push 3
call fcn.00405451
add esp, 8
movsx ecx, word [ebp - 8]
cmp ecx, 0xffffffff
jne 0x40315c
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
mov byte [ebp - 0x2c], 1
mov edx, dword [ebp - 0x24]
and edx, 0xff
test edx, edx
je 0x4031d0
mov dword [ebp - 0x3ac], 0
jmp 0x403188
mov eax, dword [ebp - 0x3ac]
add eax, 1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [0x41f980]
mov eax, dword [ecx + 4]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x3ac], eax
jge 0x4031d0
mov edx, dword [ebp - 0x3ac]
mov eax, dword [0x41f980]
xor ecx, ecx
mov cx, word [eax + edx*2 + 0xc]
cmp ecx, 0xd
je 0x4031ce
mov edx, dword [ebp - 0x3ac]
mov eax, dword [0x41f980]
mov cx, word [eax + edx*2 + 0xc]
push ecx
call fcn.00407920
add esp, 4
jmp 0x403179
mov dword [ebp - 0x3ac], 0xfffffffa
lea edx, [ebp - 0x3b4]
push edx
lea eax, [ebp - 0x3ac]
push eax
push 0
push 0
push 0x4b5
push 1
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLColAttributeW
movsx edx, ax
test edx, edx
jne 0x4032c9
cmp dword [ebp - 0x3b4], 0
jle 0x4032c9
cmp dword [ebp - 0x44c], 0
je 0x40322f
mov eax, dword [ebp - 0x44c]
push eax
call fcn.004078d0
add esp, 4
mov dword [ebp - 0x3ac], 0xfffffffa
lea ecx, [ebp - 0x3b4]
push ecx
lea edx, [ebp - 0x3ac]
push edx
push 0
push 0
push 0x3e9
push 1
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLColAttributeW
mov ecx, dword [ebp - 0x3b4]
shl ecx, 2
push ecx
call fcn.00407820
add esp, 4
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x3ac], 1
jmp 0x403290
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [ebp - 0x3b4]
jg 0x4032c9
mov ecx, dword [ebp - 0x3ac]
push ecx
mov edx, dword [0x41e458]
push edx
call fcn.00407402
add esp, 8
movsx eax, ax
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x44c]
mov dword [edx + ecx*4 - 4], eax
jmp 0x403281
mov dword [ebp - 0x3b4], 0
movsx eax, word [ebp - 8]
test eax, eax
je 0x4032e8
movsx ecx, word [ebp - 8]
cmp ecx, 1
jne 0x403689
cmp dword [0x41e464], 0
je 0x4032fb
mov dword [0x41e468], 0xffffff9c
cmp dword [0x41e424], 0
je 0x403311
push 0x1776
call fcn.00404fcf
add esp, 4
cmp dword [0x41e428], 0
je 0x403329
mov edx, dword [0x41e428]
push edx
call fcn.00404fcf
add esp, 4
cmp dword [0x41e45c], 0
je 0x403342
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLCancel
jmp 0x403689
mov dword [ebp - 0x3b4], 1
cmp dword [ebp - 0x44c], 0
jne 0x40336d
mov ecx, dword [ebp - 0x3b4]
shl ecx, 2
push ecx
call fcn.00407820
add esp, 4
mov dword [ebp - 0x44c], eax
movsx edx, word [ebp - 8]
test edx, edx
je 0x403382
movsx eax, word [ebp - 8]
cmp eax, 1
jne 0x403606
cmp dword [0x41e45c], 0
je 0x40339c
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLCancel
jmp 0x403689
cmp dword [0x41e428], 0
je 0x4033b4
mov edx, dword [0x41e428]
push edx
call fcn.00404fcf
add esp, 4
movsx eax, word [ebp - 8]
cmp eax, 1
jne 0x4033ce
mov ecx, dword [0x41e458]
push ecx
push 3
call fcn.00405451
add esp, 8
lea edx, [ebp - 0x3ac]
push edx
push 0
push 0
push 0
push 0x3e9
push 0
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLColAttributeW
movsx ecx, ax
test ecx, ecx
je 0x4033fe
mov dword [ebp - 0x3ac], 0
cmp dword [0x41e464], 0
je 0x40341a
cmp dword [ebp - 0x3ac], 0
je 0x40341a
mov dword [0x41e468], 0xffffff9b
mov edx, dword [ebp - 0x44c]
push edx
mov eax, dword [0x41e458]
push eax
call fcn.0040714e
add esp, 8
movsx ecx, ax
test ecx, ecx
jne 0x40343b
jmp 0x403689
cmp dword [0x41e45c], 0
jne 0x4034de
cmp dword [ebp - 0x3ac], 0
je 0x4034de
mov dword [ebp - 0x474], 0
push 0x41a890
call fcn.00405b30
add esp, 4
lea edx, [ebp - 0x474]
push edx
mov eax, dword [0x41e458]
push eax
call sub.ODBC32.dll_SQLRowCount
cmp dword [ebp - 0x474], 0xffffffff
je 0x4034c5
mov dword [ebp - 0x478], 0
push 0
push 0xfffffffffffffffb
lea ecx, [ebp - 0x478]
push ecx
push 0x4cf
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLGetStmtAttrW
cmp dword [ebp - 0x478], 0
jne 0x4034c5
mov eax, dword [ebp - 0x474]
push eax
call fcn.00403a06
add esp, 4
mov dword [0x41e414], 0
mov dword [ebp - 0x3b0], 1
jmp 0x403584
cmp dword [0x41e45c], 0
jne 0x403554
lea ecx, [ebp - 0x3ac]
push ecx
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLRowCount
movsx eax, ax
test eax, eax
jne 0x403554
cmp dword [ebp - 0x3ac], 0xffffffff
je 0x403554
mov dword [ebp - 0x47c], 0
push 0
push 0xfffffffffffffffb
lea ecx, [ebp - 0x47c]
push ecx
push 0x4cf
mov edx, dword [0x41e458]
push edx
call sub.ODBC32.dll_SQLGetStmtAttrW
cmp dword [ebp - 0x47c], 0
jne 0x403548
mov eax, dword [ebp - 0x3ac]
push eax
call fcn.00403a06
add esp, 4
mov dword [ebp - 0x3b0], 1
jmp 0x403584
cmp dword [0x41e424], 0
je 0x40356c
push 0x1776
call fcn.00404fcf
add esp, 4
jmp 0x403584
cmp dword [0x41e428], 0
je 0x403584
mov ecx, dword [0x41e428]
push ecx
call fcn.00404fcf
add esp, 4
movsx edx, word [0x41f614]
cmp edx, 1
jle 0x4035ce
mov eax, dword [ebp - 0x454]
and eax, 0xff
test eax, eax
jne 0x4035ce
push 0x100
push 0x41eb00
push 0xb
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.004056a9
movsx ecx, word [0x41f614]
push ecx
push 0x41eb00
call fcn.00408310
add esp, 8
cmp dword [0x41e45c], 0
jne 0x403606
mov edx, dword [ebp - 0x454]
and edx, 0xff
test edx, edx
je 0x403606
call fcn.00407a70
mov dword [0x41e950], eax
mov eax, dword [0x41e950]
sub eax, dword [0x41f924]
mov dword [0x41f920], eax
call fcn.0040486c
mov dword [0x41e42c], 1
mov ecx, dword [0x41e458]
push ecx
call sub.ODBC32.dll_SQLMoreResults
mov word [ebp - 8], ax
mov dword [0x41e42c], 0
movsx edx, word [ebp - 8]
cmp edx, 0xffffffff
jne 0x403684
lea eax, [ebp - 0x684]
push eax
push 0x100
lea ecx, [ebp - 0x884]
push ecx
lea edx, [ebp - 0x680]
push edx
lea eax, [ebp - 0x67c]
push eax
mov ecx, dword [0x41e458]
push ecx
push 0
push 0
call sub.ODBC32.dll_SQLErrorW
push str.HY010
lea edx, [ebp - 0x67c]
push edx
call fcn.00407770
add esp, 8
test eax, eax
jne 0x40367e
jmp 0x403689
mov word [ebp - 8], 1
jmp 0x4032d3
cmp dword [0x41e428], 0
je 0x4036a0
mov eax, dword [0x41e428]
push eax
call fcn.00404fcf
add esp, 4
cmp dword [0x41e464], 0
je 0x4036e4
mov ecx, dword [0x41e468]
mov dword [ebp - 0x8a4], ecx
cmp dword [ebp - 0x8a4], 0xffffff9a
je 0x4036d5
cmp dword [ebp - 0x8a4], 0xffffff9b
je 0x4036c9
jmp 0x4036df
push 0x24
call fcn.0040566f
add esp, 4
jmp 0x4036df
push 0x25
call fcn.0040566f
add esp, 4
jmp 0x403787
mov word [0x41f614], 1
mov dword [ebp - 0x43c], 0xfffffffa
lea edx, [ebp - 0x43c]
push edx
push 4
lea eax, [ebp - 0x3ac]
push eax
push 0x4b9
mov ecx, dword [0x41e454]
push ecx
call sub.ODBC32.dll_SQLGetConnectAttrW
cmp dword [ebp - 0x3ac], 1
jne 0x40372b
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
mov dword [0x41e45c], 0
mov dword [ebp - 0x3b0], 0
mov word [0x41a034], 1
push 0x41ee40
push str.cmdbuf:__s_n
call fcn.004038b5
add esp, 8
jmp 0x403782
push 0x41ee40
call fcn.004085d0
add esp, 4
cmp eax, 4
jbe 0x403780
xor edx, edx
mov dx, word [0x41ee48]
cmp edx, 0x20
jne 0x40377e
jmp 0x403787
jmp 0x403782
jmp 0x403787
jmp 0x4027b2
push 0x41acb0
call fcn.00407d60
add esp, 4
cmp dword [0x41e404], 0
je 0x4037b0
cmp dword [0x41e408], 0
je 0x4037b0
push 0xffffffffffffffff
call fcn.00404fcf
add esp, 4
mov eax, dword [0x41e468]
push eax
call fcn.00404fcf
add esp, 4
mov esp, ebp
pop ebp
ret