Function at 0x43cd00
Capabilities:
Encode data using xor

Disassembly:
cli
ret 0x8801
cmp al, 0xd9
stosb byte es:[edi], al
jae 0x41509c
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
inc esp
and al, 0x7f
jp 0x41506d
test byte [eax + eax*4], ah
add byte [eax], al
add byte [ecx - 0x3a], bh
test byte [ecx + eax*4], ah
add byte [eax], al
add byte [eax + 0x31], bh
leave
daa
jbe 0x4150a2
push eax
xor al, 0x8b
pop esp
and al, 0x30
add byte [ebp + 0x2dc24bc], cl
add byte [eax], al
inc esp
xchg byte [eax + eax - 0x77], al
add al, 0x24
and al, 0
add byte [eax], al
add byte [ebx - 0x76c3db84], cl
jl 0x415201
add al, 0xc7
inc esp
and al, 8
add byte [eax], al
add byte [eax], al
sbb byte [eax], al
add byte [eax], al
add bh, al
inc esp
and al, 0x1c
add byte [eax], al
add byte [eax], al
dec esp
add al, 0x7a
inc esp
add byte [edx + 2], dh
rol dword [eax + 0x4c8801c1], 1
dec esp
add al, 0x76
mov dh, 0xea
rol dword [eax + 0x39], 1
inc ebp
invalid
pop ebp
in al, 0xe9
stc
std
invalid
lds edx, [esi - 0x39]
test dword [edi + edi*8], ebp
invalid
invalid
invalid
push eax
call fcn.00408b20
add esp, 4
mov ecx, ebx
mov ebx, eax
ret
push 0x60
push 3
push 0x120089
push edi
mov dword [ebp - 0x44], ecx
dec ebp
mov esp, 0x54f0e851
add dword [eax], eax
ret
dec ebp
mov esp, 0x54f0e851
add dword [eax], eax
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444b38]
ror byte [ecx - 0x207613a3], cl
pop ebp
in al, dx
mov edi, ebx
jmp dword [0x444c60]
shr eax, cl
retf 0xfdfc
dec esp
inc esp
add byte [ecx + 0x758be875], cl
in al, dx
mov byte [esi], 0
mov edx, dword [ebp - 0xe8]
mov dword [edx], 0x849796e4
mov dword [edx + 4], 0x889a9980
mov dword [edx + 8], 0x83818184
mov dword [edx + 0xc], 0x9187e1ce
mov dword [edx + 0x10], 0xdcc88b94
mov dword [edx + 0x14], 0xb2aeb1b6
mov dword [edx + 0x18], 0x88bbf0be
mov word [edx + 0x1c], 0x2b5
xor eax, eax
mov ecx, eax
add cl, 0x4d
xor cl, byte [edx + eax]
add cl, 0x98
mov byte [edx + eax], cl
inc eax
cmp eax, 0x1e
jne 0x428ec0
sub esi, edi
mov ecx, dword [ebp + 8]
push esi
push edi
push edx
call fcn.00409ca0
jmp dword [0x444c70]
xchg ebp, eax
sar edi, 0x24
lea esi, [eax - 0x72ffbbb5]
dec edx
rol byte [ebx + 0x5720af9], 1
mov ecx, 0xffffffff
invalid
inc dword [ebx + 0x728d20ca]
lahf
cmp esi, 6
jae 0x429002
invalid
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [edi + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x444bb8]
dec ebx
inc esp
invalid
dec ebx
inc esp
add byte [ebp - 0x17c2f8e], cl
or dh, byte [edx + 5]
mov esi, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae 0x429031
add edx, 0xffffffa9
mov esi, edx
shl ecx, 4
or ecx, esi
add edi, 2
mov byte [eax], cl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x444bb0]
inc esp
invalid
inc esp
add dh, al
add byte [eax], al
push 0
add byte [edx + 0x10], ch
add byte [edx + 0x10], ch
push 0
push dword [ebp - 0x28]
call fcn.0042b5d0
add esp, 0x10
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], edx
xor ebx, ebx
mov ecx, dword [case.0x429a13.6]
xor eax, eax
ror byte [ebx + 0x753be875], 0xdc
ror byte [ebx + 0x753be875], 0xdc
setne al
jmp dword [eax*4 + 0x444bc0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 4]
mov eax, edi
shr eax, 0x1c
sbb al, 0xc1
out 4, eax
sbb al, 0xc1
out 4, eax
or edi, 1
xor eax, dword [ebp - 0x38]
xor edi, dword [ebp - 0x28]
add dword [ebx], esi
inc ebp
enter 0x7d33, 0xffffffffffffffd8
xor edx, edx
or edi, eax
sete dl
ret 0x1bf
add byte [eax], al
invalid
ret 0x1bf
jmp dword [edx*4 + 0x444bc8]
xchg ebp, eax
enter 0x444b, 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esi]
xor edi, edi
jmp ecx
les ecx, [eax]
push dword [ebp - 0x3c]
push 1
push 0
push 0
push edi
push 0
push esi
call eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x2c]
mov dword [esi], eax
mov eax, dword [ebp - 0x30]
inc ebp
ror byte [ecx - 0x47fbba], 1
invalid
invalid
invalid
inc ebp
ror byte [ecx - 0x47fbba], 1
invalid
cmp byte [ebx + eax + 1], 0
jl 0x429186
add dword [eax], eax
lea eax, [eax + 1]
jne 0x429180
inc eax
add dword [ebp - 0xa], esi
mov edi, dword [ebp - 0xa0]
mov dword [edi], eax
mov dword [edi + 4], ebx
mov esi, dword [ebp - 0x3c]
mov dword [esi], 0
mov dword [esi + 4], 0
push 0x8b2600cb
push dword [0x44965c]
call fcn.0043dba0
add esp, 8
push esi
push 1
push 0
push 0
push edi
push 0
mov esi, dword [ebp - 0xa4]
push esi
call eax
jmp dword [0x444c08]
movzx esi, byte [edi + eax - 0x592e4518]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x40
mov byte [edi + eax - 0x592e4518], dl
cmpsb byte [esi], byte es:[edi]
inc eax
dec ecx
cmp eax, 0x592e453a
jne 0x429426
mov ecx, dword [ebp - 0x9c]
push edi
call fcn.0042b3c0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x444b78]
add byte [ebx - 0x775ef7b0], cl
dec ebx
inc esp
add bh, bh
loopne 0x42943f
or byte [ecx + 0x444b88], ah
jmp eax
inc ebp
lock add byte [eax], al
add byte [eax], al
xor eax, eax
test edx, edx
setne al
mov esi, dword [ebp - 0x1c]
jne 0x42946c
jne 0x42946c
jmp dword [eax*4 + 0x444b90]
lea eax, [esi + 1]
push eax
call fcn.00408b20
add esp, 4
mov ebx, eax
push 0
push esi
mov esi, dword [ebp - 0x2c]
push eax
push dword [edi]
call fcn.0043e760
add esp, 0x10
jmp dword [0x444b60]
movsd dword es:[edi], dword [esi]
div byte [ecx]
leave
mov edx, 0x8d000000
inc esp
and al, 0x1a
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0xa], 0x56d0346
mov dword [esp + 0xe], 0x96b0795
mov dword [esp + 0x12], 0xd9e0b65
mov dword [esp + 0x16], 0x31730f6a
mov dword [esp + 0x1a], 0x355a3353
mov dword [esp + 0x1e], 0x39aa3757
mov dword [esp + 0x22], 0x3d3c3ba3
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0xa]
mov edi, edx
and edi, 0x24
mov eax, ecx
xor eax, 0x18415692
add eax, edi
mov edi, eax
and edi, esi
add edi, edi
sub eax, edi
add eax, esi
mov esi, eax
and esi, 0x6f
xor eax, 0x6f
lea eax, [eax + esi*2]
inc al
mov byte [esp + ecx + 0xa], al
inc ecx
add edx, 2
cmp ecx, 0x1c
jne 0x429900
lea edx, [esp + 0xd0]
lea eax, [esp + 0xa]
mov ecx, 7
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xec]
lea esi, [esp + 0x26]
xor eax, eax
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0xa], 0x90269ed9
mov dword [esp + 0xe], 0x94309222
mov dword [esp + 0x12], 0xe825962a
mov dword [esp + 0x16], 0xecbbea4d
mov dword [esp + 0x1a], 0xe0adeeb9
lea ebx, [esp + 0x1e]
mov word [esp + 0x1e], 0xe2e1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x35
xor cl, byte [esp + eax + 0xa]
add cl, 0x58
mov byte [esp + eax + 0xa], cl
inc eax
cmp eax, 0x16
jne case.default.0x429a13
lea esi, [esp + 0xba]
lea eax, [esp + 0xa]
and al, 0xa
and al, 0xa
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xce]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov ah, 0x24
nop
add byte [eax], al
invalid
mov ah, 0x24
nop
add byte [eax], al
add byte [ebx - 0x7cbbdbbc], cl
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x68], eax
xor ecx, ecx
leave
xor eax, eax
mov dword [esp + 0x48], 0
cmp ecx, 0xc
setne al
xchg ebp, eax
sal byte [ecx], 0xc9
xchg ebp, eax
sal byte [ecx], 0xc9
jmp dword [eax*4 + 0x444ca0]
pushfd
mov byte [esp + 0x20], 0xe6
mov ecx, 0x5340750
nop
nop
nop
movzx edx, byte [esp + ecx - 0x5340746]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x80
mov byte [esp + ecx - 0x5340746], dl
inc ecx
cmp ecx, 0x5340767
jne 0x42a110
lea ecx, [esp + 0xa]
push ecx
push eax
call fcn.00402990
add esp, 8
les ecx, [eax]
les ecx, [eax]
mov ebx, eax
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
add ecx, 3
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x42a160
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42a181
cmp eax, 0x2e
jne 0x42a182
dec ecx
mov dword [esp + 0x64], esi
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x6c], edi
mov dword [esp], edx
je 0x42a19c
cmp eax, 0x2e
jne 0x42a19d
dec ecx
mov dword [esp + 0x78], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408b20
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [esp], 0
je 0x42a2bb
xor esi, esi
mov edi, 2
mov dword [esp + 0x4c], ebx
jmp 0x42a1e8
lea eax, [edi + 4]
add edi, 2
mov esi, dword [esp + 4]
cmp edi, edx
mov edi, eax
mov ebx, dword [esp + 0x4c]
jae 0x42a2bb
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.0041ed50
add esp, 4
mov ecx, ebx
mov bh, al
movzx eax, byte [ecx + edi - 1]
push eax
call fcn.0041ed50
mov edx, dword [esp + 4]
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
lea ecx, [esi + 1]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x70], esi
mov byte [ecx + esi], al
cmp edi, edx
jae 0x42a1d0
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax + edi]
push eax
call fcn.0041ed50
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42a1d0
mov ecx, eax
or cl, 0x3c
mov edx, eax
xor dl, 0xc0
and dl, cl
shr dl, 2
shl bl, 4
add bl, dl
mov edx, dword [esp]
mov esi, dword [esp + 0x70]
lea ecx, [esi + 2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov byte [ecx + esi + 1], bl
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x42a1d0
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.0041ed50
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42a1d0
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x70]
mov byte [ecx + esi + 2], al
add esi, 3
mov dword [esp + 4], esi
jmp 0x42a1d0
mov eax, dword [esp + 0x78]
add eax, 0xfffffffb
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
add eax, 5
mov dword [esp + 0x84], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
push 0x8b2600cb
push dword [0x44965c]
call fcn.0043dba0
add esp, 8
lea ecx, [esp + 0x50]
lea edx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444cf0]
mov byte [eax - 0x13], cl
dec edx
mov dword [esp + 0xe], 0x4e934cdb
fisttp dword [ebx + edx*4 + 0x4e]
fisttp dword [ebx + edx*4 + 0x4e]
mov dword [esp + 0x12], 0x42c940db
mov dword [esp + 0x16], 0x464544d7
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0xa]
not edx
mov edi, 0xd0
sub edi, ecx
or edi, edx
lea ebx, [edi + edi]
not ebx
add ebx, edi
mov edi, 0xe9deead0
sub edi, ecx
and edi, edx
or edi, ebx
mov edx, 0x4ef75686
sub edx, edi
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + ecx + 0xa], dl
mov edx, ecx
and edx, 1
mov edi, ecx
or edi, 0xfffffffe
not ecx
or ecx, 1
and ecx, edi
not ecx
lea ecx, [ecx + edx*2]
cmp ecx, 0x10
jb 0x42a3a0
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x42a421
lea edi, [esi + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42a410
mov word [ecx], 0
movzx edx, word [esp + 0xa]
test dx, dx
je 0x42a453
lea edi, [esp + 0xc]
mov ebx, dword [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42a440
jmp 0x42a457
mov ebx, dword [esp + 0x38]
mov word [ecx], 0
mov ecx, dword [esp + 0x100]
push dword [esp + 0x50]
push dword [esp + 0x58]
push eax
call fcn.004099a0
jmp 0x42a4a7
mov ebx, dword [esp + 0x38]
mov word [eax], 0
mov ecx, dword [esp + 0x100]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0xc]
call fcn.004099a0
jmp dword [0x444d04]
inc esp
invalid
inc esp
add byte [ebx + 0x147df8fb], al
cmp ebx, 0xfffffff8
jge 0x42a4c0
mov eax, 0xffffffff
jmp 0x42a4c3
lea eax, [ebp + 0x10]
lea ebx, [esi + 2]
push eax
call fcn.00408b20
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xa], 0x4aed4888
mov dword [esp + 0xe], 0x4e934cdb
mov dword [esp + 0x12], 0x42c940db
mov dword [esp + 0x16], 0x464544d7
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xa]
not ecx
mov edx, 0xd0
sub edx, eax
or edx, ecx
lea edi, [edx + edx]
not edi
add edi, edx
mov edx, 0xe9deead0
sub edx, eax
and edx, ecx
or edx, edi
mov ecx, 0x4ef75686
sub ecx, edx
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0xa], cl
mov ecx, eax
and ecx, 1
mov edx, eax
or edx, 0xfffffffe
not eax
or eax, 1
and eax, edx
not eax
lea eax, [eax + ecx*2]
cmp eax, 0x10
jb 0x42a500
movzx ecx, word [esi]
mov edx, dword [esp + 4]
mov eax, edx
test cx, cx
je 0x42a581
mov eax, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x42a570
mov word [eax], 0
movzx ecx, word [esp + 0xa]
test cx, cx
mov edi, dword [esp + 0x6c]
je 0x42a480
lea edx, [esp + 0xc]
mov ebx, dword [esp + 0x38]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a5a0
jmp 0x42a484
invalid
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov edi, dword [esp + 0x48]
movzx eax, word [edi]
mov dword [esp + 0x18], 0xfcfb90a4
mov ecx, 0xd0825671
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x2f7da9a7]
xor edx, ecx
mov esi, edx
and esi, 0x77
xor edx, 0x77
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x2f7da9a7], dl
inc ecx
cmp ecx, 0xd0825675
jne 0x43cd20
xor ecx, ecx
cmp dword [esp + 0x18], eax
setne cl
mov eax, dword [ecx*4 + 0x44687c]
mov ecx, dword [case.0x43cd7e.1]
mov edx, ecx
and edx, 0xef2072dc
or edx, 0x440121
and ecx, 0x10df8d23
xor ecx, edx
xor ecx, 0x109b8c02
add ecx, eax
inc ecx
xor eax, eax
jmp ecx