Function at 0x414240
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x64
mov eax, dword [0x4a9018]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x74]
mov ebx, ecx
mov word [esp + 0x33], 0x7974
mov word [esp + 0x30], 0x6d45
mov byte [esp + 0x32], 0x70
mov dword [esp + 0x35], 0x79656b20
mov byte [esp + 0x39], 0
mov dword [esp + 0x47], 0x6c207965
mov dword [esp + 0x3e], 0x72726f63
mov word [esp + 0x4e], 0x6874
mov word [esp + 0x3c], 0x6e49
mov dword [esp + 0x42], 0x20746365
mov byte [esp + 0x46], 0x6b
mov word [esp + 0x4b], 0x6e65
mov byte [esp + 0x50], 0
mov byte [esp + 0x4d], 0x67
mov word [esp + 0x60], 0x636f
mov word [esp + 0x5d], 0x6220
mov word [esp + 0x55], 0x636e
mov dword [esp + 0x67], 0x687467
mov byte [esp + 0x54], 0x49
mov dword [esp + 0x58], 0x63657272
mov word [esp + 0x65], 0x6e65
mov word [esp + 0x62], 0x206b
mov byte [esp + 0x5c], 0x74
mov byte [esp + 0x64], 0x6c
mov byte [esp + 0x5f], 0x6c
mov byte [esp + 0x57], 0x6f
push edi
test esi, esi
je 0x4146d9
mov dword [ebx + 0x3c8], 0x20
mov dword [ebx + 0x3cc], 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x3d4], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x3f4], xmm0
mov eax, dword [ebx + 0x3c8]
mov ecx, dword [ebx + 0x3cc]
cmp eax, 0x10
je 0x41435b
cmp eax, 0x18
je 0x414351
mov eax, 0xe
jmp 0x414374
xor eax, eax
cmp ecx, 0x20
sete al
jmp 0x41436d
cmp ecx, 0x10
jne 0x414365
lea eax, [ecx - 6]
jmp 0x414374
xor eax, eax
cmp ecx, 0x18
setne al
lea eax, [eax*2 + 0xc]
mov dword [ebx + 0x3d0], eax
mov eax, ecx
cdq
xor ecx, ecx
and edx, 3
mov dword [esp + 0x18], ecx
lea ebp, [edx + eax]
mov eax, dword [ebx + 0x3d0]
sar ebp, 2
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x4143c2
lea edx, [ebx + 8]
nop dword [eax]
test ebp, ebp
jle 0x4143b0
mov ecx, ebp
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0x3d0]
inc ecx
add edx, 0x20
mov dword [esp + 0x18], ecx
cmp ecx, eax
jle 0x4143a0
xor edx, edx
test eax, eax
js 0x4143ee
lea esi, [ebx + 0x1e8]
nop
test ebp, ebp
jle 0x4143dc
mov ecx, ebp
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x3d0]
inc edx
add esi, 0x20
cmp edx, eax
jle 0x4143d0
mov esi, dword [esp + 0x78]
inc eax
lea edi, [ebx + 0x414]
imul eax, ebp
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x3c8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x18], eax
test eax, eax
jle 0x4144ab
mov ebp, eax
nop dword [eax]
movzx eax, byte [esi]
lea esi, [esi + 4]
shl eax, 0x18
lea edi, [edi + 4]
mov dword [edi - 4], eax
movzx edx, byte [esi - 3]
shl edx, 0x10
or edx, eax
mov dword [edi - 4], edx
movzx ecx, byte [esi - 2]
shl ecx, 8
or ecx, edx
mov dword [edi - 4], ecx
movzx eax, byte [esi - 1]
or eax, ecx
mov dword [edi - 4], eax
sub ebp, 1
jne 0x414420
mov ebp, dword [esp + 0x1c]
lea ecx, [ebx + 0x414]
mov dword [esp + 0x14], ecx
xor edi, edi
cmp edi, dword [esp + 0x24]
jge 0x41463c
mov eax, edi
mov ecx, dword [ecx]
cdq
inc edi
idiv ebp
lea esi, [edx + eax*8]
mov dword [ebx + esi*4 + 8], ecx
mov ecx, dword [ebx + 0x3d0]
mov esi, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x14]
lea ecx, [edx + ecx*8]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x1e8], eax
mov ecx, dword [esp + 0x14]
add ecx, 4
mov dword [esp + 0x14], ecx
cmp edi, esi
jl 0x414465
jmp 0x4144af
xor edi, edi
mov esi, eax
cmp edi, dword [esp + 0x24]
jge 0x41463c
mov dword [esp + 0x14], 0x4a1370
lea ebp, [ebx + 0x414]
nop word [eax + eax]
mov edx, dword [ebx + esi*4 + 0x410]
mov eax, edx
sar eax, 0x10
movzx eax, al
movsx ecx, byte [eax + 0x4a4490]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
movsx eax, byte [eax]
xor ecx, eax
mov eax, edx
sar eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
movzx eax, dl
shl ecx, 8
sar edx, 0x18
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
movzx eax, dl
shl ecx, 8
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
xor dword [ebp], ecx
cmp esi, 8
je 0x41455b
cmp esi, 1
jle 0x41454e
lea ecx, [ebx + 0x418]
lea edx, [esi - 1]
nop
mov eax, dword [ecx - 4]
lea ecx, [ecx + 4]
xor dword [ecx - 4], eax
sub edx, 1
jne 0x414540
test esi, esi
jle 0x41462e
jmp 0x4145df
lea eax, [ebx + 0x418]
mov edx, 3
mov ecx, dword [eax - 4]
lea eax, [eax + 4]
xor dword [eax - 4], ecx
sub edx, 1
jne 0x414566
mov edx, dword [ebx + 0x420]
mov eax, edx
sar eax, 0x18
movzx eax, al
movsx ecx, byte [eax + 0x4a4490]
mov eax, edx
sar eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
mov eax, edx
sar eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
movzx eax, dl
shl ecx, 8
mov edx, 3
movzx eax, byte [eax + 0x4a4490]
xor ecx, eax
xor dword [ebx + 0x424], ecx
lea ecx, [ebx + 0x428]
mov eax, dword [ecx - 4]
lea ecx, [ecx + 4]
xor dword [ecx - 4], eax
sub edx, 1
jne 0x4145d1
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x24]
jge 0x414638
mov eax, edi
mov ecx, dword [ebp]
cdq
inc edi
idiv dword [esp + 0x1c]
lea esi, [edx + eax*8]
mov dword [ebx + esi*4 + 8], ecx
mov ecx, dword [ebx + 0x3d0]
mov esi, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [ebp]
add ebp, 4
lea ecx, [edx + ecx*8]
mov dword [ebx + ecx*4 + 0x1e8], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, esi
jl 0x4145e7
lea ebp, [ebx + 0x414]
cmp edi, dword [esp + 0x24]
jl 0x4144d0
mov ebp, dword [esp + 0x1c]
mov eax, 1
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x3d0], eax
jle 0x4146c0
lea ecx, [ebx + 0x208]
mov dword [esp + 0x1c], ecx
test ebp, ebp
jle 0x4146ac
mov esi, ecx
mov edi, ebp
nop
mov edx, dword [esi]
lea esi, [esi + 4]
mov eax, edx
sar eax, 0x18
movzx ecx, al
mov eax, edx
sar eax, 0x10
movzx eax, al
mov ecx, dword [ecx*4 + 0x4a1f90]
xor ecx, dword [eax*4 + 0x4a1b90]
mov eax, edx
sar eax, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4a1790]
movzx eax, dl
xor ecx, dword [eax*4 + 0x4a1390]
mov dword [esi - 4], ecx
sub edi, 1
jne 0x414660
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
inc eax
add ecx, 0x20
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x3d0]
jl 0x414657
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov byte [ebx + 4], 1
pop ebx
xor ecx, esp
call fcn.0041c0d2
add esp, 0x64
ret 0x10
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
call fcn.00403660
push 0x4a7a3c
lea eax, [esp + 0x2c]
push eax
call fcn.0041e2ea
int3