Function at 0x4c4450
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2f
push 0
push 0
dec ecx
jne 0x4c4458
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4c488b
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 8]
call fcn.004212e4
mov edi, eax
mov ebx, dword [edi + 8]
dec ebx
test ebx, ebx
jl 0x4c44aa
inc ebx
xor esi, esi
mov edx, esi
mov eax, edi
call fcn.004212e4
mov edx, 0x354
call fcn.00402ed4
inc esi
dec ebx
jne 0x4c4493
mov eax, edi
mov edx, dword [eax]
call dword [edx + 8]
inc dword [ebp - 8]
cmp dword [ebp - 8], 6
jne 0x4c4478
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 8], edx
mov edx, dword [0x83a4b8]
mov edx, dword [edx + 0xd4]
lea eax, [ebp - 0xc]
mov ecx, 0x4c48a4
call fcn.0040545c
mov eax, dword [ebp - 0xc]
call fcn.0040be8c
test al, al
je 0x4c485b
mov dl, 1
mov eax, dword [0x41ed6c]
call fcn.004041c0
mov esi, eax
mov edx, dword [ebp - 0xc]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x4c4854
inc ebx
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x28], 0
je 0x4c484a
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x3b
je 0x4c484a
push 1
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 0x54], 0x7c
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
call fcn.0049136c
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x3c]
call fcn.004051d8
push 1
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 0x54], 0x20
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
call fcn.0049136c
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x28]
call fcn.004051d8
push 1
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 0x54], 0x7c
mov byte [ebp - 0x53], 9
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
call fcn.0049136c
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0x4c]
call fcn.004051d8
mov eax, dword [ebp - 0x4c]
call fcn.00405410
test eax, eax
jle 0x4c46e0
jmp 0x4c46cf
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [0x826a20]
mov edx, 0x4c48c0
mov eax, dword [ebp - 0x4c]
call fcn.0044ff08
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x4c]
call fcn.004051d8
mov edx, dword [ebp - 0x4c]
mov eax, 0x4c48c0
call fcn.00405754
test eax, eax
jg 0x4c46ad
or edx, reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [ebp - 0x2c]
call fcn.0040ba78
mov dword [ebp - 0x14], eax
or edx, reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [ebp - 0x38]
call fcn.0040ba78
mov dword [ebp - 0x18], eax
xor edx, edx
mov eax, dword [ebp - 0x3c]
call fcn.0040ba78
mov dword [ebp - 0x1c], eax
or edx, reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [ebp - 0x40]
call fcn.0040ba78
mov dword [ebp - 0x20], eax
or edx, reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [ebp - 0x44]
call fcn.0040ba78
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4c4732
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x20], 0
jne 0x4c473f
mov dword [ebp - 0x20], reloc.kernel32.dll_DeleteCriticalSection
mov eax, dword [ebp - 0x14]
sub eax, 6
jae 0x4c484a
cmp dword [ebp - 0x18], 0
jl 0x4c484a
mov eax, dword [ebp - 0x1c]
sub eax, 3
jae 0x4c484a
cmp dword [ebp - 0x30], 0
je 0x4c484a
cmp dword [ebp - 0x48], 0
je 0x4c484a
mov eax, dword [0x83a314]
mov eax, dword [eax]
mov edx, dword [ebp - 0x30]
call fcn.006abfa0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c484a
mov eax, dword [ebp - 4]
inc dword [eax + 8]
mov eax, 0x354
call fcn.00402ea4
mov edi, eax
mov eax, edi
xor ecx, ecx
mov edx, 0x354
call fcn.00490da0
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
mov eax, dword [ebp - 0x10]
push esi
push edi
mov esi, eax
add edi, 4
mov ecx, 0xa5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x61], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + reloc.kernel32.dll_DeleteCriticalSection], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + reloc.kernel32.dll_DeleteCriticalSection], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + reloc.kernel32.dll_DeleteCriticalSection], eax
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov edx, dword [ebp - 0x48]
mov ecx, 0xff
call fcn.004053ec
lea edx, reloc.kernel32.dll_DeleteCriticalSection
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov cl, 0x12
call fcn.0040387c
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov edx, dword [ebp - 0x4c]
mov ecx, 0xff
call fcn.004053ec
lea edx, reloc.kernel32.dll_DeleteCriticalSection
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov cl, 0x96
call fcn.0040387c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004c4054
mov edx, edi
call fcn.0042111c
inc dword [ebp - 8]
dec ebx
jne 0x4c451d
mov eax, esi
call fcn.004041f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c4892
lea eax, [ebp - 0x78]
mov edx, 9
call fcn.00405164
lea eax, [ebp - 0x50]
mov edx, 0xb
call fcn.00405164
lea eax, [ebp - 0xc]
call fcn.00405140
ret