Function at 0x41c18c
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1650
call fcn.004321a0
push esi
push edi
mov ecx, 6
mov esi, str.LoggerOutput
lea edi, [ebp - 0x138]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ax, word [0x44b040]
mov word [ebp - 0x10c], ax
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x10a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0x44b048]
mov word [ebp - 0x23c], cx
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x23a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x13c], 0
mov edx, dword [0x44b0bc]
and edx, 2
xor eax, eax
cmp edx, 2
sete al
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x110], 0
xor ecx, ecx
mov cx, word [0x44c720]
test ecx, ecx
je 0x41c27e
cmp dword [0x44b80c], 0
jne 0x41c27e
push 0
call fcn.00419c65
add esp, 4
cmp dword [0x44b0ac], 1
jne 0x41c29a
call fcn.0041d331
push 0x440d2c
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 4
cmp dword [ebp - 0x114], 0
jne 0x41c2b0
cmp dword [0x44b80c], 0
je 0x41c907
cmp dword [ebp + 8], 0
je 0x41c907
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
test eax, eax
je 0x41c907
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x118]
push edx
lea eax, [ebp - 0x10c]
push eax
call fcn.00421b9c
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x41c37d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov esi, eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
add esi, eax
mov dword [ebp - 0x248], esi
push 0x559
lea eax, [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x248]
shl ecx, 1
push ecx
call fcn.00420df3
add esp, 0xc
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x41c37d
mov edx, dword [ebp - 0x248]
push edx
push 0
mov eax, dword [ebp - 0x244]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x244]
push eax
mov ecx, dword [0x44df4c]
call dword [ecx + 0x4cc]
add esp, 0xc
mov edx, dword [ebp - 0x244]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0x3f
je 0x41c3ee
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x21
je 0x41c3ee
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx]
cmp edx, 0x2b
je 0x41c3ee
cmp dword [0x44b098], 0
je 0x41c3cd
cmp dword [0x44b08c], 0
jne 0x41c3cd
push str._s______s_r_n
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
jmp 0x41c3e2
push str._s______s_n
lea ecx, [ebp - 0x23c]
push ecx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
mov dword [ebp - 0x13c], 1
jmp 0x41c42c
cmp dword [0x44b098], 0
je 0x41c417
cmp dword [0x44b08c], 0
jne 0x41c417
push str._s____s_r_n
lea edx, [ebp - 0x23c]
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
jmp 0x41c42c
push str._s____s_n
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
mov ecx, dword [0x44d95c]
and ecx, 1
test ecx, ecx
je 0x41c446
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x21
je 0x41c49c
mov ecx, dword [0x44d95c]
and ecx, 2
test ecx, ecx
je 0x41c460
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x2b
je 0x41c49c
mov ecx, dword [0x44d95c]
and ecx, 4
test ecx, ecx
je 0x41c47a
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x3f
je 0x41c49c
mov ecx, dword [0x44d95c]
and ecx, 4
test ecx, ecx
je 0x41c490
cmp dword [ebp - 0x13c], 0
jne 0x41c49c
mov dword [ebp - 0x1650], 0
jmp 0x41c4a6
mov dword [ebp - 0x1650], 1
mov edx, dword [ebp - 0x1650]
mov dword [ebp - 0x240], edx
xor eax, eax
cmp dword [ebp + 0x10], 4
sete al
mov ecx, dword [ebp - 0x240]
or ecx, eax
mov dword [ebp - 0x240], ecx
lea edx, [ebp - 0x23c]
push edx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov esi, eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
add esi, eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
add esi, eax
lea edx, [esi + esi + 2]
mov dword [ebp - 0x110], edx
push 0x581
lea eax, [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.00420df3
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x41c59f
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [0x44df4c]
call dword [eax + 0x4cc]
add esp, 0x10
push 0x584
lea ecx, [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call fcn.00420df3
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x41c59f
push 0
push 0
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0xc]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [0x44b80c], 0
je 0x41c6cf
cmp dword [ebp - 0x240], 0
je 0x41c6cf
cmp dword [0x44b08c], 0
je 0x41c5cf
push 0x44c2e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x41c610
push 0x44c2e0
call dword [0x44b824]
test eax, eax
jne 0x41c610
cmp dword [0x44b090], 0
je 0x41c605
cmp dword [0x44dc84], 0
je 0x41c605
lea eax, [ebp - 0x138]
push eax
push 0x440d8c
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
push 0x44c2e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x44b090], 0
je 0x41c637
cmp dword [0x44dc84], 0
je 0x41c637
lea ecx, [ebp - 0x138]
push ecx
push 0x440dc8
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
cmp dword [0x44b098], 0
je 0x41c676
cmp dword [0x44b08c], 0
jne 0x41c676
cmp dword [0x44deb8], 0
jne 0x41c676
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [0x44b80c]
push edx
call dword [sym.imp.MSVCRT.dll_fwprintf]
add esp, 0x10
jmp 0x41c68d
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [0x44b80c]
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
mov edx, dword [0x44b80c]
push edx
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 4
push 0x44c2e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x44b090], 0
je 0x41c6cf
cmp dword [0x44dc84], 0
je 0x41c6cf
lea eax, [ebp - 0x138]
push eax
push 0x440dfc
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
cmp dword [ebp - 0x114], 0
je 0x41c6f1
cmp dword [ebp - 0x240], 0
je 0x41c6f1
mov ecx, dword [ebp - 0x11c]
push ecx
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 4
cmp dword [ebp - 0x11c], 0
je 0x41c709
mov edx, dword [ebp - 0x11c]
push edx
call fcn.0042138d
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x41c71b
mov eax, dword [ebp - 0xc]
push eax
call fcn.0042138d
add esp, 4
cmp dword [0x44b08c], 0
jne 0x41c8ef
mov ecx, dword [0x44d95c]
and ecx, 1
test ecx, ecx
je 0x41c8ef
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x21
jne 0x41c8ef
xor ecx, ecx
mov cx, word [0x44d960]
test ecx, ecx
je 0x41c8ef
mov dx, word [0x44b050]
mov word [ebp - 0x164c], dx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x164a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [0x44b058]
mov word [ebp - 0x1248], ax
mov ecx, 0x3ff
xor eax, eax
lea edi, [ebp - 0x1246]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x124c], 0
push 0x200
lea ecx, [ebp - 0x164c]
push ecx
push 0x43
mov edx, dword [0x44b81c]
push edx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
mov eax, dword [ebp + 8]
add eax, 4
push eax
push 0x44b4f4
lea ecx, [ebp - 0x164c]
push ecx
push 0x800
lea edx, [ebp - 0x1248]
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x14
mov word [ebp - 0x24a], 0
push 0x5b6
lea eax, [ebp - 0x138]
push eax
push 8
call fcn.00420df3
add esp, 0xc
mov dword [ebp - 0x124c], eax
cmp dword [ebp - 0x124c], 0
je 0x41c8ef
push 0x44d960
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x41c874
push 0x5b8
lea ecx, [ebp - 0x138]
push ecx
mov edx, dword [ebp - 4]
lea eax, [edx + edx + 2]
push eax
call fcn.00420df3
add esp, 0xc
mov ecx, dword [ebp - 0x124c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x124c]
cmp dword [edx], 0
je 0x41c874
push 0x44d960
mov eax, dword [ebp - 0x124c]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
lea edx, [ebp - 0x1248]
push edx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x41c8d8
push 0x5ba
lea eax, [ebp - 0x138]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ecx + ecx + 2]
push edx
call fcn.00420df3
add esp, 0xc
mov ecx, dword [ebp - 0x124c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x124c]
cmp dword [edx + 4], 0
je 0x41c8d8
lea eax, [ebp - 0x1248]
push eax
mov ecx, dword [ebp - 0x124c]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
mov eax, dword [ebp - 0x124c]
push eax
push 0
push 0x41c90d
call dword [sym.imp.MSVCRT.dll__beginthread]
add esp, 0xc
cmp dword [ebp - 0x244], 0
je 0x41c907
mov ecx, dword [ebp - 0x244]
push ecx
call fcn.0042138d
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret