Function at 0x405d66
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xd4
mov eax, dword [0x4095d0]
xor eax, ebp
mov dword [ebp + 0x64], eax
push ebx
mov ebx, dword [ebp + 0x74]
push esi
mov esi, dword [ebp + 0x70]
cmp dword [esi], 0
push edi
mov edi, dword [ebp + 0x78]
mov dword [ebp - 0x6c], ecx
jne 0x405da5
push 0x81
call dword [sym.imp.MSVCR90.dll_malloc]
pop ecx
mov dword [esi], eax
test eax, eax
je 0x405f87
mov eax, dword [esi]
mov cl, byte [ebp + 0x7c]
mov byte [eax], cl
lea eax, [ebp - 0x64]
cmp edi, 8
jb 0x405dc2
push 8
push ebx
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
jmp 0x405ddf
push edi
push ebx
push eax
call sub.MSVCR90.dll_memcpy
push 8
pop eax
sub eax, edi
push eax
lea eax, [ebp + edi - 0x64]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0x18
mov ebx, dword [ebp - 0x6c]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
mov ecx, ebx
call fcn.00405d34
lea eax, [ebp + 0x1c]
push eax
push 0x40
push 0x38
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
mov byte [ebp + 0x1c], 0x39
mov byte [ebp + 0x1d], 0x31
mov byte [ebp + 0x1e], 0x29
mov byte [ebp + 0x1f], 0x21
mov byte [ebp + 0x20], 0x19
mov byte [ebp + 0x21], 0x11
mov byte [ebp + 0x22], 9
mov byte [ebp + 0x23], 1
mov byte [ebp + 0x24], 0x3a
mov byte [ebp + 0x25], 0x32
mov byte [ebp + 0x26], 0x2a
mov byte [ebp + 0x27], 0x22
mov byte [ebp + 0x28], 0x1a
mov byte [ebp + 0x29], 0x12
mov byte [ebp + 0x2a], 0xa
mov byte [ebp + 0x2b], 2
mov byte [ebp + 0x2c], 0x3b
mov byte [ebp + 0x2d], 0x33
mov byte [ebp + 0x2e], 0x2b
mov byte [ebp + 0x2f], 0x23
mov byte [ebp + 0x30], 0x1b
mov byte [ebp + 0x31], 0x13
mov byte [ebp + 0x32], 0xb
mov byte [ebp + 0x33], 3
mov byte [ebp + 0x34], 0x3c
mov byte [ebp + 0x35], 0x34
mov byte [ebp + 0x36], 0x2c
mov byte [ebp + 0x37], 0x24
mov byte [ebp + 0x38], 0x3f
mov byte [ebp + 0x39], 0x37
mov byte [ebp + 0x3a], 0x2f
mov byte [ebp + 0x3b], 0x27
mov byte [ebp + 0x3c], 0x1f
mov byte [ebp + 0x3d], 0x17
mov byte [ebp + 0x3e], 0xf
mov byte [ebp + 0x3f], 7
mov byte [ebp + 0x40], 0x3e
mov byte [ebp + 0x41], 0x36
mov byte [ebp + 0x42], 0x2e
mov byte [ebp + 0x43], 0x26
mov byte [ebp + 0x44], 0x1e
mov byte [ebp + 0x45], 0x16
mov byte [ebp + 0x46], 0xe
mov byte [ebp + 0x47], 6
mov byte [ebp + 0x48], 0x3d
mov byte [ebp + 0x49], 0x35
mov byte [ebp + 0x4a], 0x2d
mov byte [ebp + 0x4b], 0x25
mov byte [ebp + 0x4c], 0x1d
mov byte [ebp + 0x4d], 0x15
mov byte [ebp + 0x4e], 0xd
mov byte [ebp + 0x4f], 5
mov byte [ebp + 0x50], 0x1c
mov byte [ebp + 0x51], 0x14
mov byte [ebp + 0x52], 0xc
mov byte [ebp + 0x53], 4
call fcn.00405bdc
mov byte [ebp + 0x54], 1
mov byte [ebp + 0x55], 1
mov byte [ebp + 0x56], 2
mov byte [ebp + 0x57], 2
mov byte [ebp + 0x58], 2
mov byte [ebp + 0x59], 2
mov byte [ebp + 0x5a], 2
mov byte [ebp + 0x5b], 2
mov byte [ebp + 0x5c], 1
mov byte [ebp + 0x5d], 2
mov byte [ebp + 0x5e], 2
mov byte [ebp + 0x5f], 2
mov byte [ebp + 0x60], 2
mov byte [ebp + 0x61], 2
mov byte [ebp + 0x62], 2
mov byte [ebp + 0x63], 1
xor edi, edi
mov dword [ebp - 0x68], 0x78
movzx eax, byte [ebp + edi + 0x54]
test eax, eax
jle 0x405f5c
mov dword [ebp - 0x6c], eax
push 0x1c
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
call fcn.00405bb3
push 0x1c
lea eax, [ebp]
push eax
mov ecx, ebx
call fcn.00405bb3
dec dword [ebp - 0x6c]
jne 0x405f3d
mov eax, edi
shl eax, 3
cmp dword [ebp + 0x7c], 0
jne 0x405f6a
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [esi]
lea eax, [ecx + eax + 1]
push eax
mov ecx, ebx
call fcn.00405c33
sub dword [ebp - 0x68], 8
inc edi
cmp dword [ebp - 0x68], 0xfffffff8
jg 0x405f31
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00405284
add ebp, 0x68
leave
ret 0x10