Function at 0x4034c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x618
mov eax, dword [0x422128]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x70
lea eax, [ebp - 0x614]
push 0x20
push eax
call fcn.00404420
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, 4
ja case.default.0x4034ee
jmp dword [eax*4 + 0x403800]
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.00404420
push 0x200
lea eax, [ebp - 0x484]
push 0
push eax
call fcn.00404420
push 0x134
lea eax, [ebp - 0x204]
push 0x20
push eax
call fcn.00404420
add esp, 0x24
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 0x4036b9
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 + 0x422090]
mov eax, dword [ebp - 0x612]
movq qword [ebp - 0x1f4], xmm0
mov dword [ebp - 0x1eb], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4035d0
sub ecx, edx
lea eax, [ebp - 0x1e6]
push ecx
push str.9999
push eax
call fcn.00404580
mov ecx, 0x422030
mov byte [ebp - 0x1e2], 0x20
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403600
sub ecx, edx
lea eax, [ebp - 0x1e1]
push ecx
push 0x422030
push eax
call fcn.00404580
push 0x80
lea eax, [ebp - 0x284]
mov dword [ebp - 0xd8], 0x20202020
push 0
push eax
mov dword [ebp - 0xd4], 0x20202020
call fcn.00404420
push dword [ebp + 0x10]
lea eax, [ebp - 0x284]
push 0x422044
push eax
call fcn.00403140
lea ecx, [ebp - 0x284]
add esp, 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403662
sub ecx, edx
lea eax, [ebp - 0x284]
push ecx
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.00404580
add esp, 0xc
jmp 0x4037b7
mov ecx, dword [ebp + 0xc]
lea eax, [ecx - 1]
cmp eax, 0x1f
ja 0x4036a4
lea eax, [ebp - 0x614]
push eax
push ecx
call fcn.00403820
jmp case.default.0x4034ee
mov eax, 0xfffffffe
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004038e3
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 1
jge 0x4036ee
push eax
push str.fcmerrd
push str.search
push str.cssimerr
push 0x41a210
call sub.cscmhfws.dll_coalrms
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004038e3
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 + 0x422090]
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 0x41a380
lea eax, [ebp - 0x484]
push 0x200
push eax
call fcn.00403490
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.004038e3
mov esp, ebp
pop ebp
ret 0x10