Function at 0x40d540
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x494427
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4aa018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 0x2b4], esi
push ecx
mov dword [ebp - 0x2b0], 0
call fcn.004045d0
call fcn.00412700
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2ac]
push eax
push 1
push ecx
lea edx, [ebp - 0x90]
mov dword [ebp - 0x2b0], 1
mov ecx, 0x80000002
mov dword [ebp - 0x79], 0x2073776f
mov dword [ebp - 0x7e], 0x6e69575c
mov dword [ebp - 0x86], 0x6f726369
mov dword [ebp - 0x8f], 0x5754464f
mov dword [ebp - 0x6c], 0x72655674
mov dword [ebp - 0x74], 0x75435c54
mov dword [ebp - 0x8a], 0x4d5c4552
mov dword [ebp - 0x67], 0x6e6f69
mov dword [ebp - 0x70], 0x6e657272
mov byte [ebp - 0x8b], 0x41
mov dword [ebp - 0x82], 0x74666f73
mov byte [ebp - 0x90], 0x53
mov byte [ebp - 0x75], 0x4e
mov byte [ebp - 0x68], 0x73
mov byte [ebp - 0x7a], 0x64
call fcn.00417e80
add esp, 0xc
test eax, eax
jne 0x40d854
push 0x208
push eax
lea eax, [ebp - 0x298]
mov dword [ebp - 0x2a4], 1
push eax
call fcn.0041d790
add esp, 0xc
mov dword [ebp - 0x2a0], 0x208
lea eax, [ebp - 0x2a0]
mov dword [ebp - 0x1d], 0x6e6f69
lea edx, [ebp - 0x28]
mov dword [ebp - 0x24], 0x56746e65
mov dword [ebp - 0x28], 0x72727543
push eax
lea eax, [ebp - 0x298]
mov word [ebp - 0x20], 0x7265
push eax
lea eax, [ebp - 0x2a4]
mov byte [ebp - 0x1e], 0x73
push eax
push ecx
mov ecx, dword [ebp - 0x2ac]
call fcn.004185b0
add esp, 0x10
test eax, eax
jne 0x40d6cc
lea eax, [ebp - 0x298]
mov word [ebp - 0x29b], 0x73
push eax
lea eax, [ebp - 0x29c]
mov byte [ebp - 0x29c], 0x25
push eax
push esi
call fcn.00410d60
add esp, 0xc
mov ecx, esi
call fcn.00411e80
cmp eax, 3
jl 0x40d849
push 0
call fcn.00410870
cmp al, 0x36
jne 0x40d849
push 2
mov ecx, esi
call fcn.00410870
cmp al, 0x32
je 0x40d709
push 2
mov ecx, esi
call fcn.00410870
cmp al, 0x33
jne 0x40d849
lea eax, [ebp - 0x2a0]
mov dword [ebp - 0x2a8], 0
push eax
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x29c], 0
push eax
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x2a4], 4
push eax
push ecx
mov ecx, dword [ebp - 0x2ac]
lea edx, [ebp - 0x44]
xor bl, bl
mov dword [ebp - 0x2a0], 4
mov word [ebp - 0x2d], 0x7265
mov word [ebp - 0x40], 0x6e65
mov dword [ebp - 0x34], 0x4e6e6f69
mov dword [ebp - 0x3d], 0x6f6a614d
mov word [ebp - 0x30], 0x6d75
mov dword [ebp - 0x38], 0x73726556
mov dword [ebp - 0x44], 0x72727543
mov byte [ebp - 0x39], 0x72
mov byte [ebp - 0x3e], 0x74
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2e], 0x62
call fcn.004185b0
add esp, 0x10
movzx ebx, bl
test eax, eax
mov dword [ebp - 0x2a4], 4
lea eax, [ebp - 0x2a0]
mov dword [ebp - 0x2a0], 4
mov ecx, 1
mov dword [ebp - 0x60], 0x72727543
push eax
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x59], 0x6f6e694d
push eax
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x50], 0x4e6e6f69
push eax
cmove ebx, ecx
mov dword [ebp - 0x4b], 0x7265626d
push ecx
mov ecx, dword [ebp - 0x2ac]
lea edx, [ebp - 0x60]
mov dword [ebp - 0x55], 0x72655672
mov word [ebp - 0x5b], 0x746e
mov byte [ebp - 0x5c], 0x65
mov byte [ebp - 0x51], 0x73
mov byte [ebp - 0x47], 0
mov byte [ebp - 0x4c], 0x75
call fcn.004185b0
add esp, 0x10
test bl, bl
je 0x40d849
push dword [ebp - 0x29c]
lea eax, [ebp - 0x18]
mov word [ebp - 0x18], 0x6425
push dword [ebp - 0x2a8]
mov word [ebp - 0x15], 0x6425
push eax
push esi
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x16], 0x2e
call fcn.00410d60
add esp, 0x10
mov ecx, dword [ebp - 0x2ac]
call fcn.00419650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041c13e
mov esp, ebp
pop ebp
ret