Function at 0x4021f1
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66e7e7
mov eax, dword fs:[0]
push eax
mov eax, 0x14c8
call fcn.0064ec50
mov eax, dword [0xaff3f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
and dword [ebp - 0x14c4], 0
and dword [ebp - 4], 0
mov byte [ebp - 0x844], 0
push 0x3ff
push 0
lea eax, [ebp - 0x843]
push eax
call fcn.006512c0
add esp, 0xc
and dword [ebp - 0x14bc], 0
jmp 0x40225f
mov eax, dword [ebp - 0x14bc]
inc eax
mov dword [ebp - 0x14bc], eax
lea ecx, [ebp + 0xc]
call fcn.0042ba10
cmp dword [ebp - 0x14bc], eax
jae 0x40228e
push dword [ebp - 0x14bc]
lea ecx, [ebp + 0xc]
call fcn.0042ba25
mov ecx, dword [ebp - 0x14bc]
mov al, byte [eax]
mov byte [ebp + ecx - 0x844], al
jmp 0x402252
mov byte [ebp - 0xc44], 0
push 0x3ff
push 0
lea eax, [ebp - 0xc43]
push eax
call fcn.006512c0
add esp, 0xc
mov byte [ebp - 0x44], 0
xor eax, eax
lea edi, [ebp - 0x43]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x444], 0
push 0x3ff
push 0
lea eax, [ebp - 0x443]
push eax
call fcn.006512c0
add esp, 0xc
xor eax, eax
inc eax
imul eax, eax, 0x1d
mov byte [ebp + eax - 0x34], 0x46
xor eax, eax
inc eax
imul eax, eax, 0x18
mov byte [ebp + eax - 0x34], 0x42
xor eax, eax
inc eax
imul eax, eax, 0xe
mov byte [ebp + eax - 0x34], 0x46
xor eax, eax
inc eax
shl eax, 3
mov byte [ebp + eax - 0x34], 0x44
xor eax, eax
inc eax
imul eax, eax, 0x19
mov byte [ebp + eax - 0x34], 0x43
xor eax, eax
inc eax
imul eax, eax, 6
mov byte [ebp + eax - 0x34], 0x32
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x34], 0x46
xor eax, eax
inc eax
imul eax, eax, 0x1b
mov byte [ebp + eax - 0x34], 0x36
xor eax, eax
inc eax
imul eax, eax, 0x17
mov byte [ebp + eax - 0x34], 0x43
xor eax, eax
inc eax
imul eax, eax, 0xd
mov byte [ebp + eax - 0x34], 0x39
xor eax, eax
inc eax
imul eax, eax, 5
mov byte [ebp + eax - 0x34], 0x34
xor eax, eax
inc eax
imul eax, eax, 0x1f
mov byte [ebp + eax - 0x34], 0x39
xor eax, eax
inc eax
imul eax, eax, 9
mov byte [ebp + eax - 0x34], 0x32
xor eax, eax
inc eax
imul eax, eax, 0xb
mov byte [ebp + eax - 0x34], 0x37
xor eax, eax
inc eax
imul eax, eax, 0x1c
mov byte [ebp + eax - 0x34], 0x38
xor eax, eax
inc eax
imul eax, eax, 0xf
mov byte [ebp + eax - 0x34], 0x36
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x34], 0x44
xor eax, eax
inc eax
imul eax, eax, 0x14
mov byte [ebp + eax - 0x34], 0x34
xor eax, eax
inc eax
imul eax, eax, 0x16
mov byte [ebp + eax - 0x34], 0x42
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x34], 0x41
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [ebp + eax - 0x34], 0x43
xor eax, eax
inc eax
imul eax, eax, 0x13
mov byte [ebp + eax - 0x34], 0x36
xor eax, eax
inc eax
imul eax, eax, 0x12
mov byte [ebp + eax - 0x34], 0x42
xor eax, eax
inc eax
shl eax, 1
mov byte [ebp + eax - 0x34], 0x38
xor eax, eax
inc eax
imul eax, eax, 0x15
mov byte [ebp + eax - 0x34], 0x41
xor eax, eax
inc eax
imul eax, eax, 7
mov byte [ebp + eax - 0x34], 0x43
xor eax, eax
inc eax
shl eax, 0
mov byte [ebp + eax - 0x34], 0x38
xor eax, eax
inc eax
shl eax, 4
mov byte [ebp + eax - 0x34], 0x44
xor eax, eax
inc eax
imul eax, eax, 0x11
mov byte [ebp + eax - 0x34], 0x32
xor eax, eax
inc eax
imul eax, eax, 3
mov byte [ebp + eax - 0x34], 0x37
xor eax, eax
inc eax
imul eax, eax, 0xc
mov byte [ebp + eax - 0x34], 0x45
xor eax, eax
inc eax
shl eax, 5
mov dword [ebp - 0x14c0], eax
cmp dword [ebp - 0x14c0], 0x21
jae 0x402442
jmp 0x402447
call fcn.0064e577
mov eax, dword [ebp - 0x14c0]
mov byte [ebp + eax - 0x34], 0
xor eax, eax
inc eax
imul eax, eax, 0x1e
mov byte [ebp + eax - 0x34], 0x39
lea eax, [ebp - 0x34]
push eax
push 0x400
lea eax, [ebp - 0x444]
push eax
call fcn.00657c1d
add esp, 0xc
lea ecx, [ebp - 0x14b8]
call fcn.004079ed
mov byte [ebp - 4], 1
push 0x10
push 0x20
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x14b8]
call fcn.0041e619
mov byte [ebp - 0x1044], 0
push 0x3ff
push 0
lea eax, [ebp - 0x1043]
push eax
call fcn.006512c0
add esp, 0xc
lea ecx, [ebp + 0xc]
call fcn.0042ba10
push eax
lea ecx, [ebp - 0x14d4]
call fcn.00439740
mov byte [ebp - 4], 2
push 1
lea ecx, [ebp - 0x14d4]
call fcn.00429462
push eax
lea ecx, [ebp - 0x14d4]
call fcn.00439a9d
push eax
lea eax, [ebp - 0x844]
push eax
lea ecx, [ebp - 0x14b8]
call fcn.00407a1f
lea ecx, [ebp - 0x14d4]
call fcn.00439a9d
mov dword [ebp - 0x14c8], eax
lea ecx, [ebp + 0xc]
call fcn.0042ba10
push eax
push dword [ebp - 0x14c8]
push dword [ebp + 8]
call fcn.00402580
add esp, 0xc
mov eax, dword [ebp - 0x14c4]
or eax, 1
mov dword [ebp - 0x14c4], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14d4]
call fcn.004275f9
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14b8]
call fcn.00407a0b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004275b0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0064e653
mov esp, ebp
pop ebp
ret