Function at 0x41d960
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x165c
call fcn.00434e00
mov eax, dword [0x44d558]
mov dword [ebp - 0xc], eax
push esi
push edi
mov ecx, 6
mov esi, str.LoggerOutput
lea edi, [ebp - 0x23c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ax, word [0x44de40]
mov word [ebp - 0x210], ax
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x20e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0x44de48]
mov word [ebp - 0x110], cx
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x10e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 8], 0
mov edx, dword [0x44dec0]
and edx, 2
sub edx, 2
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x240], edx
mov dword [ebp - 4], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0
movzx eax, word [0x44f520]
test eax, eax
je 0x41da5d
cmp dword [0x44e610], 0
jne 0x41da5d
push 0
call fcn.0041b240
add esp, 4
cmp dword [0x44deb0], 1
jne 0x41da79
call fcn.0041ebc0
push 0x443d7c
call dword [sym.imp.MSVCR71.dll_wprintf]
add esp, 4
cmp dword [ebp - 0x240], 0
jne 0x41da8f
cmp dword [0x44e610], 0
je 0x41e0da
cmp dword [ebp + 8], 0
je 0x41e0da
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test edx, edx
je 0x41e0da
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x210]
push edx
call fcn.00423730
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x41db5c
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
mov esi, eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
add esi, eax
mov dword [ebp - 0x244], esi
push 0x559
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x244]
shl eax, 1
push eax
call fcn.00422830
add esp, 0xc
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
je 0x41db5c
mov ecx, dword [ebp - 0x244]
push ecx
push 0
mov edx, dword [ebp - 0x250]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x250]
push edx
mov eax, dword [0x450d4c]
call dword [eax + 0x4cc]
add esp, 0xc
mov ecx, dword [ebp - 0x250]
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
movzx eax, word [edx]
cmp eax, 0x3f
je 0x41dbc4
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x21
je 0x41dbc4
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
cmp ecx, 0x2b
je 0x41dbc4
cmp dword [0x44de9c], 0
je 0x41dba6
cmp dword [0x44de90], 0
jne 0x41dba6
push str._s______s_r_n
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
jmp 0x41dbbb
push str._s______s_n
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
mov dword [ebp - 8], 1
jmp 0x41dc02
cmp dword [0x44de9c], 0
je 0x41dbed
cmp dword [0x44de90], 0
jne 0x41dbed
push str._s____s_r_n
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
jmp 0x41dc02
push str._s____s_n
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
mov eax, dword [0x45075c]
and eax, 1
je 0x41dc17
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x21
je 0x41dc5d
mov eax, dword [0x45075c]
and eax, 2
je 0x41dc2c
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x2b
je 0x41dc5d
mov eax, dword [0x45075c]
and eax, 4
je 0x41dc41
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x3f
je 0x41dc5d
mov eax, dword [0x45075c]
and eax, 4
je 0x41dc51
cmp dword [ebp - 8], 0
jne 0x41dc5d
mov dword [ebp - 0x165c], 0
jmp 0x41dc67
mov dword [ebp - 0x165c], 1
mov ecx, dword [ebp - 0x165c]
mov dword [ebp - 0x24c], ecx
xor edx, edx
cmp dword [ebp + 0x10], 4
sete dl
or edx, dword [ebp - 0x24c]
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
add esi, eax
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
add esi, eax
lea eax, [esi + esi + 2]
mov dword [ebp - 0x220], eax
push 0x581
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.00422830
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x41dd5f
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [0x450d4c]
call dword [ecx + 0x4cc]
add esp, 0x10
push 0x584
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.00422830
add esp, 0xc
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x41dd5f
push 0
push 0
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x214]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [0x44e610], 0
je 0x41de92
cmp dword [ebp - 0x24c], 0
je 0x41de92
cmp dword [0x44de90], 0
je 0x41dd8f
push 0x44f0e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x41ddd0
push 0x44f0e0
call dword [0x44e628]
test eax, eax
jne 0x41ddd0
cmp dword [0x44de94], 0
je 0x41ddc5
cmp dword [0x450a88], 0
je 0x41ddc5
lea ecx, [ebp - 0x23c]
push ecx
push 0x443ddc
call dword [sym.imp.MSVCR71.dll_wprintf]
add esp, 8
push 0x44f0e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x44de94], 0
je 0x41ddf7
cmp dword [0x450a88], 0
je 0x41ddf7
lea edx, [ebp - 0x23c]
push edx
push 0x443e18
call dword [sym.imp.MSVCR71.dll_wprintf]
add esp, 8
cmp dword [0x44de9c], 0
je 0x41de35
cmp dword [0x44de90], 0
jne 0x41de35
cmp dword [0x450cbc], 0
jne 0x41de35
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x110]
push edx
mov eax, dword [0x44e610]
push eax
call dword [sym.imp.MSVCR71.dll_fwprintf]
add esp, 0x10
jmp 0x41de51
mov ecx, dword [ebp - 0x214]
push ecx
push 0x443e4c
mov edx, dword [0x44e610]
push edx
call dword [sym.imp.MSVCR71.dll_fprintf]
add esp, 0xc
mov eax, dword [0x44e610]
push eax
call dword [sym.imp.MSVCR71.dll_fflush]
add esp, 4
push 0x44f0e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x44de94], 0
je 0x41de92
cmp dword [0x450a88], 0
je 0x41de92
lea ecx, [ebp - 0x23c]
push ecx
push 0x443e54
call dword [sym.imp.MSVCR71.dll_wprintf]
add esp, 8
cmp dword [ebp - 0x240], 0
je 0x41deb9
cmp dword [ebp - 0x24c], 0
je 0x41deb9
mov edx, dword [ebp - 0x214]
push edx
push 0x443e88
call dword [sym.imp.MSVCR71.dll_printf]
add esp, 8
cmp dword [ebp - 0x214], 0
je 0x41ded1
mov eax, dword [ebp - 0x214]
push eax
call fcn.00422e50
add esp, 4
cmp dword [ebp - 4], 0
je 0x41dee3
mov ecx, dword [ebp - 4]
push ecx
call fcn.00422e50
add esp, 4
cmp dword [0x44de90], 0
jne 0x41e0c2
mov edx, dword [0x45075c]
and edx, 1
je 0x41e0c2
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
cmp ecx, 0x21
jne 0x41e0c2
movzx edx, word [0x450764]
test edx, edx
je 0x41e0c2
mov ax, word [0x44de50]
mov word [ebp - 0x658], ax
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x656]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0x44de58]
mov word [ebp - 0x1658], cx
mov ecx, 0x3ff
xor eax, eax
lea edi, [ebp - 0x1656]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x254], 0
push 0x200
lea edx, [ebp - 0x658]
push edx
push 0x43
mov eax, dword [0x44e620]
push eax
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 0x44e2f8
lea edx, [ebp - 0x658]
push edx
push 0x800
lea eax, [ebp - 0x1658]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x14
mov word [ebp - 0x65a], 0
push 0x5b6
lea ecx, [ebp - 0x23c]
push ecx
push 8
call fcn.00422830
add esp, 0xc
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
je 0x41e0c2
push 0x450764
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x41e03e
push 0x5b8
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x21c]
lea ecx, [eax + eax + 2]
push ecx
call fcn.00422830
add esp, 0xc
mov edx, dword [ebp - 0x254]
mov dword [edx], eax
mov eax, dword [ebp - 0x254]
cmp dword [eax], 0
je 0x41e03e
push 0x450764
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
lea eax, [ebp - 0x1658]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x41e0ab
push 0x5ba
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x21c]
lea eax, [edx + edx + 2]
push eax
call fcn.00422830
add esp, 0xc
mov ecx, dword [ebp - 0x254]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x254]
cmp dword [edx + 4], 0
je 0x41e0ab
lea eax, [ebp - 0x1658]
push eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
mov eax, dword [ebp - 0x254]
push eax
push 0
push 0x41e0f0
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
cmp dword [ebp - 0x250], 0
je 0x41e0da
mov ecx, dword [ebp - 0x250]
push ecx
call fcn.00422e50
add esp, 4
mov ecx, dword [ebp - 0xc]
call fcn.00434de1
pop edi
pop esi
mov esp, ebp
pop ebp
ret