Function at 0x401010
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
sub esp, 0xd8
xor eax, eax
mov dword [esp + 0x10], 0x69375134
mov dword [esp + 0x14], 0x6b655e57
mov ecx, 0x3d090c
mov dword [esp + 0x18], 0x25574725
mov dword [esp + 0x1c], 0x57743739
mov dword [esp + 0x20], 0x76456350
mov dword [esp + 0x24], 0x4049752b
mov byte [esp + 0x28], 0
mov dword [esp + 0x44], 0x65006b
mov dword [esp + 0x48], 0x6e0072
mov dword [esp + 0x4c], 0x6c0065
mov dword [esp + 0x50], 0x320033
mov dword [esp + 0x54], 0x64002e
mov dword [esp + 0x58], 0x6c006c
mov word [esp + 0x5c], ax
xor eax, eax
lea esp, [esp]
mov byte [esp + eax + 0x6c], al
inc eax
cmp eax, 0x6a
jb 0x401090
dec ecx
jne 0x401087
cmp byte [esp + 0x9c], 0x30
push ebx
push ebp
push esi
push edi
jne 0x4010b8
lea ecx, [esp + 0x54]
call fcn.00401580
mov esi, eax
jmp 0x4010bc
mov esi, dword [esp + 0x50]
mov edx, 0xe3142
mov ecx, esi
call fcn.004015c0
mov ebp, eax
mov edx, 0xd5786
mov ecx, esi
mov dword [esp + 0x18], ebp
call fcn.004015c0
mov edx, 0x348bfa
mov dword [esp + 0x50], eax
mov ecx, esi
call fcn.004015c0
push 4
push 0x3000
push 0x330400
push 0
mov dword [esp + 0x4c], eax
call ebp
movsx esi, byte [esp + 0x7c]
mov edi, eax
mov eax, 0x92f11385
mov dword [esp + 0x40], edi
imul esi
movsx eax, byte [esp + 0x9f]
xor ebp, ebp
add edx, esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, eax
lea eax, [ecx*8]
sub eax, ecx
imul ecx, esi, 0x156
add eax, eax
mov dword [esp + 0x10], eax
mov eax, 0x66666667
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
mov eax, 0xbfa02fe9
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
imul eax, esi, 0xd7c
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, edi
mov esi, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x48], eax
mov ebx, eax
mov eax, 0x51eb851f
mov ecx, ebp
mul ebp
shr edx, 3
imul eax, edx, 0x19
sub ecx, eax
sub ecx, esi
mov al, byte [esp + ecx + 0x20]
xor al, byte [ebp + section._usE]
mov byte [ebx + ebp], al
inc ebp
cmp ebp, 0x330400
jb 0x4011c5
mov ecx, edi
call fcn.00401460
movsx ecx, byte [esp + 0x84]
shl ecx, 3
push ecx
push 0x3000
push eax
push 0
call dword [esp + 0x28]
mov ebp, eax
test ebp, ebp
je 0x401453
mov esi, dword [edi + 0x3c]
mov edx, edi
add esi, edi
mov ecx, ebp
mov dword [esp + 0x18], esi
movzx eax, word [esi + 0x14]
push dword [esi + 0x54]
add eax, 0x18
add eax, esi
mov dword [esp + 0x74], eax
mov eax, ebp
sub eax, dword [esi + 0x34]
mov dword [esp + 0x7c], eax
mov dword [esi + 0x34], ebp
call fcn.00401480
mov eax, dword [esi + 0xa4]
add esp, 4
mov edx, dword [esi + 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x80]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], eax
cmp ax, word [esi + 6]
jae 0x401453
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x18]
add esi, 0xc
mov ecx, dword [esi]
cmp edx, ecx
jb 0x4012a9
mov eax, dword [esi - 4]
add eax, ecx
cmp edx, eax
jae 0x4012a9
lea eax, [esi - 0xc]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x74]
cmp edx, ecx
jb 0x4012c1
mov eax, dword [esi - 4]
add eax, ecx
cmp edx, eax
jae 0x4012c1
lea eax, [esi - 0xc]
mov dword [esp + 0x48], eax
mov edx, dword [esi + 8]
add ecx, ebp
push dword [esi + 4]
add edx, edi
call fcn.00401480
mov edx, dword [esp + 0x18]
add esp, 4
movzx eax, word [ebx + 6]
inc edx
add esi, 0x28
mov dword [esp + 0x14], edx
cmp edx, eax
mov edx, dword [esp + 0x44]
jl 0x401293
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
test eax, eax
je 0x401453
xor edi, edi
cmp dword [esp + 0x10], edi
jbe 0x40138c
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
nop
mov ecx, dword [eax + 0x14]
add ecx, edi
add edi, 8
add ecx, edx
mov dword [esp + 0x44], ecx
mov ebx, dword [ecx + 4]
sub ebx, 8
shr ebx, 1
je 0x401382
mov eax, dword [eax + 0x14]
add eax, edi
add edi, 2
movzx esi, word [eax + edx]
test esi, 0xf000
je 0x40137b
and esi, 0xfff
mov dword [esp + 0x14], 0
add esi, dword [ecx]
lea ecx, [esp + 0x14]
add esi, ebp
push 4
mov edx, esi
call fcn.00401480
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0x18]
add dword [esp + 0x18], eax
mov ecx, esi
push 4
call fcn.00401480
mov ecx, dword [esp + 0x4c]
add esp, 8
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
dec ebx
jne 0x401328
cmp edi, dword [esp + 0x10]
jb 0x401310
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 0x80]
add esi, ebp
je 0x401453
add esi, 0xc
mov dword [esp + 0x10], esi
cmp dword [esi], 0
je 0x401402
lea ebx, [ebx]
mov eax, dword [esi]
add eax, ebp
push eax
call dword [esp + 0x54]
mov edi, eax
test edi, edi
je 0x401453
mov esi, dword [esi + 4]
add esi, ebp
cmp dword [esi], 0
je 0x4013ee
lea ecx, [ecx]
mov eax, dword [esi]
test eax, eax
jns 0x4013db
movzx eax, ax
jmp 0x4013e0
add eax, 2
add eax, ebp
push eax
push edi
call ebx
mov dword [esi], eax
add esi, 4
cmp dword [esi], 0
jne 0x4013d0
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [esp + 0x10], esi
cmp dword [esi], 0
jne 0x4013b0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.00401470
test eax, eax
je 0x401432
mov eax, dword [edi + 0xc0]
mov edi, dword [eax + ebp + 0xc]
mov eax, dword [edi]
test eax, eax
je 0x401432
push 0
push 1
push esi
call eax
mov eax, dword [edi + 4]
lea edi, [edi + 4]
test eax, eax
jne 0x401421
mov eax, dword [esp + 0x18]
push 0
push 1
push ebp
mov eax, dword [eax + 0x28]
add eax, ebp
call eax
neg eax
pop edi
sbb eax, eax
pop esi
and eax, ebp
pop ebp
pop ebx
add esp, 0xd8
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd8
ret