Function at 0x1034220
Capabilities:
Create thread

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x16e0
call fcn.0105ee40
sub rsp, rax
mov rax, qword [0x010657f0]
xor rax, rsp
mov qword [rsp + 0x16d0], rax
movzx eax, word [0x01001c38]
mov word [rsp + 0x160], ax
lea rax, [rsp + 0x162]
mov rdi, rax
xor eax, eax
mov ecx, 0xfe
rep stosb byte [rdi], al
movzx eax, word [0x01001c38]
mov word [rsp + 0x60], ax
lea rax, [rsp + 0x62]
mov rdi, rax
xor eax, eax
mov ecx, 0xfe
rep stosb byte [rdi], al
mov qword [rsp + 0x280], 0
mov dword [rsp + 0x278], 0
mov dword [rsp + 0x48], 0
mov eax, dword [0x010679e8]
and eax, 2
cmp eax, 2
jne 0x10342c9
mov dword [rsp + 0x16a8], 1
jmp 0x10342d4
mov dword [rsp + 0x16a8], 0
mov eax, dword [rsp + 0x16a8]
mov dword [rsp + 0x270], eax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x260], 0
mov dword [rsp + 0x274], 0
mov dword [rsp + 0x268], 0
mov dword [rsp + 0x26c], 0
movzx eax, word [0x01065f10]
test eax, eax
je 0x1034334
cmp qword [0x01067c18], 0
jne 0x1034334
xor ecx, ecx
call fcn.01030fe0
cmp dword [0x010679d8], 1
jne 0x103434f
call fcn.010356c0
lea rcx, [0x0100237c]
call qword [sym.imp.MSVCR80.dll_wprintf]
cmp dword [rsp + 0x270], 0
jne 0x1034367
cmp qword [0x01067c18], 0
je 0x10349e6
cmp qword [rsp + 0x16f0], 0
je 0x10349e6
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
test eax, eax
je 0x10349e6
lea r9, [rsp + 0x268]
lea r8, [rsp + 0x274]
mov edx, 0x80
lea rcx, [rsp + 0x160]
call fcn.01035e50
cmp qword [rsp + 0x16f8], 0
je 0x103446f
mov rcx, qword [rsp + 0x16f0]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov qword [rsp + 0x16b0], rax
mov rcx, qword [rsp + 0x16f8]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov rcx, qword [rsp + 0x16b0]
add rcx, rax
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x288], rax
mov r8d, 0x6c3
lea rdx, [0x01007cb8]
mov ecx, dword [rsp + 0x288]
call fcn.01014dd0
mov qword [rsp + 0x280], rax
cmp qword [rsp + 0x280], 0
je 0x103446f
mov r8, qword [rsp + 0x288]
xor edx, edx
mov rcx, qword [rsp + 0x280]
call sub.MSVCR80.dll_memset
mov r9, qword [rsp + 0x16f8]
mov r8, qword [rsp + 0x16f0]
mov rdx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x280]
call fcn.0101e0b0
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x16f0], rax
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x3f
je 0x10344bf
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x21
je 0x10344bf
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x2b
je 0x10344bf
lea r8, [0x01007ca0]
mov edx, 0x80
lea rcx, [rsp + 0x60]
call fcn.01013c30
mov dword [rsp + 0x48], 1
jmp 0x10344d5
lea r8, [0x01007c88]
mov edx, 0x80
lea rcx, [rsp + 0x60]
call fcn.01013c30
mov eax, dword [0x01067154]
and eax, 1
test eax, eax
je 0x10344f2
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x21
je 0x103454d
mov eax, dword [0x01067154]
and eax, 2
test eax, eax
je 0x103450f
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x2b
je 0x103454d
mov eax, dword [0x01067154]
and eax, 4
test eax, eax
je 0x103452c
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x3f
je 0x103454d
mov eax, dword [0x01067154]
and eax, 4
test eax, eax
je 0x1034540
cmp dword [rsp + 0x48], 0
jne 0x103454d
mov dword [rsp + 0x16b8], 0
jmp 0x1034558
mov dword [rsp + 0x16b8], 1
mov eax, dword [rsp + 0x16b8]
mov dword [rsp + 0x278], eax
cmp dword [rsp + 0x1700], 4
jne 0x103457d
mov dword [rsp + 0x16bc], 1
jmp 0x1034588
mov dword [rsp + 0x16bc], 0
mov eax, dword [rsp + 0x16bc]
mov ecx, dword [rsp + 0x278]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x278], eax
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov qword [rsp + 0x16c0], rax
lea rcx, [rsp + 0x160]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov rcx, qword [rsp + 0x16c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x16c8], rax
mov rcx, qword [rsp + 0x16f0]
call qword [sym.imp.MSVCR80.dll_wcslen]
mov rcx, qword [rsp + 0x16c8]
add rcx, rax
mov rax, rcx
lea rax, [rax + rax + 2]
mov dword [rsp + 0x26c], eax
mov r8d, 0x6e7
lea rdx, [0x01007cb8]
mov ecx, dword [rsp + 0x26c]
call fcn.01014dd0
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x10346ca
movsxd rax, dword [rsp + 0x26c]
mov rcx, qword [rsp + 0x16f0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x160]
lea r8, [rsp + 0x60]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.0101e0b0
mov r8d, 0x6ec
lea rdx, [0x01007cb8]
mov ecx, dword [rsp + 0x26c]
call fcn.01014dd0
mov qword [rsp + 0x260], rax
cmp qword [rsp + 0x260], 0
je 0x10346ca
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov ecx, dword [rsp + 0x26c]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x260]
mov qword [rsp + 0x20], rcx
mov r9d, 0xffffffff
mov r8, qword [rsp + 0x40]
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp qword [0x01067c18], 0
je 0x10347d9
cmp dword [rsp + 0x278], 0
je 0x10347d9
lea rcx, [0x01065bf0]
call qword [0x01068178]
test eax, eax
jne 0x103472a
cmp dword [0x010679c0], 0
je 0x103471d
cmp dword [0x01067484], 0
je 0x103471d
lea rdx, [0x01007cb8]
lea rcx, [0x01001b70]
call qword [sym.imp.MSVCR80.dll_wprintf]
lea rcx, [0x01065bf0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x010679c0], 0
je 0x1034750
cmp dword [0x01067484], 0
je 0x1034750
lea rdx, [0x01007cb8]
lea rcx, [0x01001b38]
call qword [sym.imp.MSVCR80.dll_wprintf]
cmp dword [0x010676b8], 0
jne 0x103477d
mov r9, qword [rsp + 0x16f0]
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x01067c18]
call qword [sym.imp.MSVCR80.dll_fwprintf]
jmp 0x1034799
mov r8, qword [rsp + 0x260]
lea rdx, [0x01007c80]
mov rcx, qword [0x01067c18]
call qword [sym.imp.MSVCR80.dll_fprintf]
mov rcx, qword [0x01067c18]
call qword [sym.imp.MSVCR80.dll_fflush]
lea rcx, [0x01065bf0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x010679c0], 0
je 0x10347d9
cmp dword [0x01067484], 0
je 0x10347d9
lea rdx, [0x01007cb8]
lea rcx, [0x01001b00]
call qword [sym.imp.MSVCR80.dll_wprintf]
cmp dword [rsp + 0x270], 0
je 0x1034802
cmp dword [rsp + 0x278], 0
je 0x1034802
mov rdx, qword [rsp + 0x260]
lea rcx, [0x01007c80]
call qword [sym.imp.MSVCR80.dll_printf]
cmp qword [rsp + 0x260], 0
je 0x103481a
mov rcx, qword [rsp + 0x260]
call fcn.01015550
cmp qword [rsp + 0x40], 0
je 0x103482c
mov rcx, qword [rsp + 0x40]
call fcn.01015550
mov eax, dword [0x01067154]
and eax, 1
test eax, eax
je 0x10349ce
mov rax, qword [rsp + 0x16f0]
movzx eax, word [rax]
cmp eax, 0x21
jne 0x10349ce
movzx eax, word [0x0106715c]
test eax, eax
je 0x10349ce
movzx eax, word [0x01001c38]
mov word [rsp + 0x2a0], ax
lea rax, [rsp + 0x2a2]
mov rdi, rax
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
movzx eax, word [0x01001c38]
mov word [rsp + 0x6a0], ax
lea rax, [rsp + 0x6a2]
mov rdi, rax
xor eax, eax
mov ecx, 0xffe
rep stosb byte [rdi], al
mov qword [rsp + 0x290], 0
mov r9d, 0x200
lea r8, [rsp + 0x2a0]
mov edx, 0x43
mov rcx, qword [0x01068158]
call qword [sym.imp.USER32.dll_LoadStringW]
mov rax, qword [rsp + 0x16f0]
add rax, 4
mov qword [rsp + 0x20], rax
lea r9, [0x01067e30]
lea r8, [rsp + 0x2a0]
mov edx, 0x800
lea rcx, [rsp + 0x6a0]
call fcn.01015ef0
mov r8d, 0x718
lea rdx, [0x01007cb8]
mov ecx, reloc.ODBC32.dll_SQLFreeStmt
call fcn.01014dd0
mov qword [rsp + 0x290], rax
cmp qword [rsp + 0x290], 0
je 0x10349ce
mov r8d, reloc.ODBC32.dll_SQLFreeStmt
xor edx, edx
mov rcx, qword [rsp + 0x290]
call sub.MSVCR80.dll_memset
mov rdx, qword [rsp + 0x290]
lea rcx, [0x0106715c]
call fcn.0102fff0
mov rax, qword [rsp + 0x290]
add rax, 8
mov rdx, rax
lea rcx, [rsp + 0x6a0]
call fcn.0102fff0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x290]
lea r8, [0x01034a10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.MSVCR80.dll__beginthreadex]
mov qword [rsp + 0x16a0], rax
cmp qword [rsp + 0x16a0], 0
je 0x10349ce
mov rcx, qword [rsp + 0x16a0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x16a0], 0
cmp qword [rsp + 0x280], 0
je 0x10349e6
mov rcx, qword [rsp + 0x280]
call fcn.01015550
mov rcx, qword [rsp + 0x16d0]
xor rcx, rsp
call fcn.010588f0
add rsp, 0x16e0
pop rdi
ret