Function at 0x401410
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41af31
mov eax, dword fs:[0]
push eax
sub esp, 0x46c
mov eax, dword [0x42400c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 4], 0
mov esi, 0x10
nop
lea eax, [ebp - 0x44d]
mov byte [ebp - 0x44d], 0
push eax
lea ecx, [ebp - 0x45c]
call fcn.00401760
sub esi, 1
jne 0x401470
mov esi, dword [ebp + 8]
mov al, byte [esi]
test al, al
je 0x4014c2
nop word [eax + eax]
mov byte [ebp - 0x44d], al
lea ecx, [ebp - 0x45c]
lea eax, [ebp - 0x44d]
push eax
call fcn.00401760
mov al, byte [esi + 1]
lea esi, [esi + 1]
test al, al
jne 0x4014a0
mov esi, 0x10
nop word [eax + eax]
lea eax, [ebp - 0x44d]
mov byte [ebp - 0x44d], 0
push eax
lea ecx, [ebp - 0x45c]
call fcn.00401760
sub esi, 1
jne 0x4014d0
mov edi, dword [ebp - 0x458]
mov eax, edi
mov ebx, dword [ebp - 0x45c]
sub eax, ebx
cdq
and edx, 0xf
lea esi, [edx + eax]
and esi, 0xfffffff0
add esi, ebx
cmp esi, ebx
jne 0x401512
mov edi, ebx
jmp 0x401524
cmp esi, edi
je 0x40152a
push 0
push edi
push esi
call fcn.0040ba10
add esp, 0xc
mov edi, esi
mov dword [ebp - 0x458], edi
mov dword [ebp - 0x1b], 0x44454445
mov dword [ebp - 0x21], 0x46314238
mov dword [ebp - 0x26], 0x44424433
mov dword [ebp - 0x2a], 0x39313537
mov dword [ebp - 0x33], 0x33463746
mov dword [ebp - 0x2f], 0x36434142
mov byte [ebp - 0x34], 0x33
mov word [ebp - 0x1d], 0x3134
mov byte [ebp - 0x22], 0x32
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x2b], 0x36
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov byte [ebp - 4], 1
xor esi, esi
nop
mov al, byte [ebp + esi - 0x34]
lea ecx, [ebp - 0x46c]
mov byte [ebp - 0x44d], al
lea eax, [ebp - 0x44d]
push eax
call fcn.00401760
inc esi
cmp esi, 0x1d
jl 0x401590
mov ecx, dword [ebp - 0x46c]
sub edi, ebx
mov eax, dword [ebp - 0x468]
sub eax, ecx
mov dword [ebp - 0x460], 0x400
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x434]
mov dword [ebp - 0x474], edi
push eax
lea eax, [ebp - 0x470]
push eax
push ecx
lea eax, [ebp - 0x474]
push eax
push ebx
call fcn.00401240
push dword [ebp - 0x460]
lea edx, [ebp - 0x434]
lea ecx, [ebp - 0x44c]
call fcn.00401030
add esp, 4
mov eax, dword [ebp - 0x478]
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 2
cmp eax, ecx
je 0x401635
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.00401b20
mov eax, dword [ebp - 0x438]
cmp eax, 0x10
jb 0x401685
mov ecx, dword [ebp - 0x44c]
inc eax
cmp eax, 0x1000
jb 0x40167c
test cl, 0x1f
je 0x401658
call fcn.0040d202
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x401664
call fcn.0040d202
sub ecx, eax
cmp ecx, 4
jae 0x401670
call fcn.0040d202
cmp ecx, 0x23
jbe 0x40167a
call fcn.0040d202
mov ecx, eax
push ecx
call fcn.00409d17
add esp, 4
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x438], 0xf
mov dword [ebp - 0x43c], 0
mov byte [ebp - 0x44c], 0
test ecx, ecx
je 0x4016f0
mov eax, dword [ebp - 0x464]
sub eax, ecx
cmp eax, 0x1000
jb 0x4016e7
test cl, 0x1f
je 0x4016c3
call fcn.0040d202
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x4016cf
call fcn.0040d202
sub ecx, eax
cmp ecx, 4
jae 0x4016db
call fcn.0040d202
cmp ecx, 0x23
jbe 0x4016e5
call fcn.0040d202
mov ecx, eax
push ecx
call fcn.00409d17
add esp, 4
test ebx, ebx
je 0x40173a
mov eax, dword [ebp - 0x454]
sub eax, ebx
cmp eax, 0x1000
jb 0x401731
test bl, 0x1f
je 0x40170d
call fcn.0040d202
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x401719
call fcn.0040d202
sub ebx, eax
cmp ebx, 4
jae 0x401725
call fcn.0040d202
cmp ebx, 0x23
jbe 0x40172f
call fcn.0040d202
mov ebx, eax
push ebx
call fcn.00409d17
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00409cd3
mov esp, ebp
pop ebp
ret 4