Function at 0x4049b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x618
mov eax, dword [0x422170]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x70
lea eax, [ebp - 0x614]
push 0x20
push eax
call fcn.00406090
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, 4
ja case.default.0x4049de
jmp dword [eax*4 + 0x404cd4]
xor eax, eax
mov word [ebp - 0x604], ax
mov eax, 0x20202020
mov word [ebp - 0x614], ax
push 0xcc
lea eax, [ebp - 0xd0]
push 0
push eax
call fcn.00406090
push 0x134
lea eax, [ebp - 0x204]
push 0x20
push eax
call fcn.00406090
add esp, 0x18
mov dword [ebp - 0x618], 1
lea eax, [ebp - 0x5a4]
push eax
push 4
push 4
lea eax, [ebp + 0x10]
push eax
push 0x1c2
lea eax, [ebp - 0x618]
push eax
push str.fcmerrd
call sub.cscmmfil.dll_cscmsrch
cmp eax, 0xfffffffd
jne 0x404b8d
movsx eax, word [ebp - 0x604]
mov ecx, str.9999
mov byte [ebp - 0x1ec], 0x20
mov byte [ebp - 0x1e7], 0x20
lea eax, [eax + eax*2]
movups xmm0, xmmword [eax*8 + str.CTL]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x204], xmm0
movq xmm0, qword [eax*8 + 0x4220d8]
mov eax, dword [ebp - 0x612]
movq qword [ebp - 0x1f4], xmm0
mov dword [ebp - 0x1eb], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404aa7
sub ecx, edx
lea eax, [ebp - 0x1e6]
push ecx
push str.9999
push eax
call fcn.004061f0
mov ecx, 0x422078
mov byte [ebp - 0x1e2], 0x20
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404ad4
sub ecx, edx
lea eax, [ebp - 0x1e1]
push ecx
push 0x422078
push eax
call fcn.004061f0
push 0x80
lea eax, [ebp - 0x284]
mov dword [ebp - 0xd8], 0x20202020
push 0
push eax
mov dword [ebp - 0xd4], 0x20202020
call fcn.00406090
push dword [ebp + 0x10]
lea eax, [ebp - 0x284]
push 0x42208c
push eax
call fcn.00404cf0
lea ecx, [ebp - 0x284]
add esp, 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404b36
sub ecx, edx
lea eax, [ebp - 0x284]
push ecx
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004061f0
add esp, 0xc
jmp 0x404c8b
mov ecx, dword [ebp + 0xc]
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x404b78
lea eax, [ebp - 0x614]
push eax
push ecx
call fcn.00405490
jmp case.default.0x4049de
mov eax, 0xfffffffe
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040554d
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 1
jge 0x404bc2
push eax
push str.fcmerrd
push str.search
push str.cssimerr
push 0x41a268
call sub.cscmhfws.dll_coalrms
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040554d
mov esp, ebp
pop ebp
ret 0x10
movsx eax, word [ebp - 0x604]
push esi
push edi
mov byte [ebp - 0x1ec], 0x20
lea eax, [eax + eax*2]
mov byte [ebp - 0x1e7], 0x20
movups xmm0, xmmword [eax*8 + str.CTL]
movups xmmword [ebp - 0x204], xmm0
movq xmm0, qword [eax*8 + 0x4220d8]
mov eax, dword [ebp - 0x612]
mov dword [ebp - 0x1eb], eax
lea eax, [ebp - 0x1e6]
push eax
push 4
push dword [ebp - 0x5a0]
movq qword [ebp - 0x1f4], xmm0
call sub.cscmcoms.dll_lxotasc
movups xmm0, xmmword [ebp - 0x594]
mov ecx, 0x32
mov byte [ebp - 0x1e2], 0x20
lea esi, [ebp - 0x554]
mov byte [ebp - 0x1a1], 0x20
movups xmmword [ebp - 0x1e1], xmm0
lea edi, [ebp - 0x1a0]
movups xmm0, xmmword [ebp - 0x584]
movups xmmword [ebp - 0x1d1], xmm0
movups xmm0, xmmword [ebp - 0x574]
movups xmmword [ebp - 0x1c1], xmm0
movups xmm0, xmmword [ebp - 0x564]
movups xmmword [ebp - 0x1b1], xmm0
rep movsd dword es:[edi], dword [esi]
pop edi
mov dword [ebp - 0xd8], 0x20202020
mov dword [ebp - 0xd4], 0x20202020
pop esi
lea eax, [ebp - 0x204]
push eax
push 0x41a62c
lea eax, [ebp - 0x484]
push 0x200
push eax
call fcn.00404900
add esp, 0x10
lea eax, [ebp - 0x484]
push eax
push str.FSIMERR
call sub.subsysdl.dll__log_get_no_4
push eax
call sub.subsysdl.dll__log_printf_8
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.0040554d
mov esp, ebp
pop ebp
ret 0x10