Function at 0x424685
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov dword [esp + 0x1c], 0x74b27254
mov dword [esp + 0x20], 0x8877685
mov dword [esp + 0x24], 0xcea0acd
mov dword [esp + 0x28], 0xee0ef9
mov dword [esp + 0x2c], 0x4ef0224
mov dword [esp + 0x30], 0x18ff06d1
mov dword [esp + 0x34], 0x1ce51aec
mov dword [esp + 0x38], 0x10fa1ef9
mov dword [esp + 0x3c], 0x14f112e3
mov dword [esp + 0x40], 0x28e516ec
mov dword [esp + 0x44], 0x2cc72acd
mov dword [esp + 0x48], 0x20dd2efd
mov dword [esp + 0x4c], 0x24c522de
mov dword [esp + 0x50], 0x38db26dc
mov dword [esp + 0x54], 0x3cc83adc
lea eax, [esp + 0x58]
mov word [esp + 0x58], 0x3e3d
mov ecx, 0xcf539cb9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x30ac6363]
xor esi, ecx
mov edx, esi
and edx, 0x37
and esi, 0xc8
xor esi, 0xc9
sub edx, esi
inc dl
mov byte [esp + ecx + 0x30ac6363], dl
inc ecx
cmp ecx, 0xcf539cf7
jne 0x424630
lea ebp, [esp + 0x5a]
lea edx, [esp + 0x1c]
mov edi, ebp
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x96]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x18]
push edi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x44a4dc]
mov dword [esp + 0x1c], 0x93525173
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and dl, 0x2f
or dl, 0x50
xor byte [esp + ecx + 0x1c], dl
inc ecx
cmp ecx, 4
jne case.default.0x4246cd
xor ecx, ecx
cmp eax, dword [esp + 0x1c]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x44513c]
mov ebx, dword [esp + 0x18]
test ebx, ebx
jns 0x4246e3
mov eax, 0xffffffff
jmp 0x4246e6
lea eax, [ebx + ebx]
push eax
call fcn.004080f0
add esp, 4
mov esi, eax
push edi
push ebx
push eax
push 0x1e
push ebp
push 0
call dword [0x44a4dc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445144]
xor ebx, ebx
xor eax, eax
jmp dword [0x44515c]
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], 0x39903782
mov dword [esp + 4], 0x3d923baf
mov dword [esp + 8], 0x21853f9a
mov dword [esp + 0xc], 0x258623b0
mov dword [esp + 0x10], 0x29ba278f
mov dword [esp + 0x14], 0x2d2c2b8e
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 6
xor cl, byte [esp + eax]
add cl, 0xd0
mov byte [esp + eax], cl
inc eax
cmp eax, 0x18
jne 0x424760
mov eax, esp
mov edx, eax
lea ebx, [esp + 0x1c]
mov edi, ebx
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x34]
lea edx, [esp + 0x18]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 1
push 0
push 0
push eax
push dword [esp + 0xb8]
call fcn.00420280
add esp, 0x10
mov ebx, eax
jmp dword [0x44515c]
inc esi
inc edx
add byte [eax], ah
inc edi
inc edx
add byte [ebx], cl
inc edi
inc edx
add byte [ebx], ch
inc edi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx], cl
inc edi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [0x20004247], dl
inc edi
inc edx
add bl, dl
dec eax
inc edx
add byte [eax], dl
dec ecx
inc edx
add byte [eax], dl
dec ecx
inc edx
add byte [eax], dl
dec ecx
inc edx
add byte [edx + 0x5d], dh
inc edx
add byte [eax], dl
dec ecx
inc edx
add byte [ecx], al
dec ecx
inc edx
add byte [eax], bl
dec ecx
inc edx
add byte [ecx + ecx*2], dh
inc edx
add byte [ecx + 0x3d004249], ah
dec ecx
inc edx
add byte [eax + 0x49], dl
inc edx
add byte [eax + 0x49], dl
inc edx
add byte [ebx + 0x49], bl
inc edx
add byte [edi + 0x5d], ah
inc edx
add byte [esi + 0x49], ch
inc edx
add cl, ah
dec ecx
inc edx
add al, dh
dec ecx
inc edx
add byte [0x2000424a], dl
dec edx
inc edx
add byte [ecx - 0x2fffbda5], ah
push ebp
inc edx
add byte [eax - 0x3effbda5], al
push esi
inc edx
add byte [eax - 0x6fffbda5], dl
pop ebx
inc edx
add byte [eax - 0x6dffbda5], dl
pop ebx
inc edx
add byte [eax - 0xeffbdaa], dh
push esi
inc edx
add al, dl
pop edx
inc edx
add byte [ecx + 0x57], bl
inc edx
add byte [edi + 0x57], dh
inc edx
add byte [eax + 0x5a004257], dl
pop eax
inc edx
add byte [eax], dh
pop ecx
inc edx
add byte [eax], ah
push edi
inc edx
add byte [edi + 0x58], ch
inc edx
add byte [eax + 0x59], dh
inc edx
add byte [edi + 0x59], dh
inc edx
add byte [esi], cl
pop esp
inc edx
add byte [eax + 0x5a004249], dl
pop ebp
inc edx
add byte [edi + 0x5d], ah
inc edx
add byte [eax + 0x5d], dh
inc edx
add byte [eax + 0x5d], dh
inc edx
add byte [eax + 0x5d], dh
inc edx
add byte [edx + 0x5d], dh
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x61], dh
inc edx
add byte [ecx], ch
inc edx
add byte [edi + 0x61], dh
inc edx
add bh, ah
imul eax, dword [edx], 0x426330
xor ah, byte [ebx + 0x42]
add byte [eax + 0x63], dh
inc edx
add byte [eax + 0x63], dh
inc edx
add byte [esi + 0x63], dh
inc edx
add byte [ebx], bh
inc edx
add byte [eax - 0x18ffbd9d], ah
imul eax, dword [edx], 0x426632
adc dword [edx + eax*2], esp
jo 0x4452ce
inc edx
add byte [eax + 0x3f004264], ah
inc edx
add byte [0x95004265], bh
inc edx
add byte [ebp + 0x64], ah
inc edx
add byte [eax], dl
inc dx
add byte [edx], dl
inc dx
add byte [eax], bl
inc dx
add byte [eax], al
inc edx
add byte [edx + 0x63], ch
inc edx
add byte [eax], ah
inc edx
add byte [ecx], al
inc edx
add byte [eax], ah
inc edx
add byte [esi + 0x63], dh
inc edx
add bh, ah
imul eax, dword [edx], 0x426160
jo 0x44530f
inc edx
add byte [ecx], ch
inc edx
add byte [0xa6004261], bh
imul eax, dword [edx], 0x4269c0
iretd
inc edx
add byte [eax + 0x63], dh
inc edx
add byte [eax], dl
inc dx
add byte [ecx + ebp*2 + 0x6ef00042], ch
inc edx
add dl, al
outsd dx, dword [esi]
inc edx
add cl, cl
outsd dx, dword [esi]
inc edx
add byte [ebp - 0x1fffbd8c], bl
jo 0x445331
add byte [esi - 0x79ffbd8b], dh
je 0x445339
add byte [ecx + esi*2], dh
inc edx
add byte [eax + 0x74004271], al
jno 0x445345
add byte [ecx + esi*2 + 0x42], dh
add byte [ecx - 0x40ffbd8f], cl
jno 0x445351
add dl, dh
jno 0x445355
add byte [esi + 0x73], al
inc edx
add byte [edi + 0x73], cl
inc edx
add byte [ebx + esi*2 + 0x42], dh
add byte [edi - 0x49ffbd8d], bh
jae 0x445369
add byte [ebx], ch
je 0x44536d
add byte [ebp + 0x74], bl
inc edx
add byte [edi + 0x73], ch
inc edx
jae 0x445375
add byte [eax], ah
jno 0x445379
add byte [eax], ah
jno 0x44537d
add byte [eax], ah
jno 0x445381
add byte [esp + esi*2 + 0x74970042], ch
inc edx
je 0x445389
add byte [ebx + 0x75], bh
inc edx
add byte [esi - 0x62ffbd8b], al
je 0x445395
add dl, al
outsd dx, dword [esi]
inc edx
add cl, ch
jae 0x44539d
add bh, bl
ja 0x4453a1
add al, cl
ja 0x4453a5
add ah, ch
js 0x4453a9
add byte [0x5004279], al
jns 0x4453ad
add byte [0x15004279], al
jns 0x4453b5
jns 0x4453b1
add byte [0xe3004279], dl
add bl, ah
jns 0x4453b9
add byte [edi - 0x78], dh
inc edx
add byte [0x4b00427a], ah
mov byte [edx], al
and eax, 0x4b00427a
jp 0x4453c1
add byte [ebx + 0x7a], cl
inc edx
jp 0x4453c5
add byte [edi - 0x78], dh
inc edx
add byte [eax - 0x6affbd86], al
jp 0x4453d1
jp 0x4453cd
add byte [ebp - 0x22ffbd86], dl
add ch, bl
jp 0x4453d5
add byte [edi - 0x7f], dl
inc edx
add byte [edi - 0x78], dh
inc edx
add byte [ebx - 0x58ffbd85], al
add dword [edx], 0x428877
cmp dword [ebx + 0x42], 0
cmpsd dword [esi], dword es:[edi]
jnp 0x4453e1
add byte [edi - 0x7cffbd7f], ah
add dword [edx], case.0x4277c1.12
cmp dword [ebx + 0x42], 0
invalid
jnp 0x4453e9
add byte [ebx - 0x70ffbd85], al
jnp 0x4453ed
add byte [edi - 0x56ffbd85], cl
jnp 0x4453f1
inc edx
add byte [ecx - 0x56ffbd85], ch
jnp 0x4453f5
inc edx
add byte [ecx - 0x50ffbd85], ch
jnp 0x4453f9
add byte [edi - 0x47ffbd85], ch
jnp 0x445401
jnp 0x4453fd
add byte [eax - 0x47ffbd85], bh
inc edx
add byte [eax + 0x200427b], bh
jnp 0x445405
add byte [edx], al
jp 0x445409
add byte [edx + edi*2], cl
inc edx
add byte [ebp + 0x7c], al
inc edx
jl 0x445411
add byte [edx + 0x7f], dl
jg 0x445415
inc edx
add byte [ebp + 0x7c], dl
inc edx
jl 0x445419
add byte [edx + 0x7f], cl
inc edx
add al, cl
jge 0x445421
add byte [esi], al
jle 0x445425
add byte [edi], cl
jle 0x445429
add byte [eax], ah
jle 0x44542d
add byte [eax], ah
jle 0x445431
add byte [edx + 0x7f], cl
inc edx
jg 0x445435
add byte [eax], ch
jle 0x445439
add byte [ecx - 0x4fffbd81], ch
jg 0x44543d
add byte [eax - 0x4dffbd81], dh
jg 0x445441
add byte [edx - 0x4dffbd81], dh
jg 0x445445
add byte [edx + 0x7700427f], dh
jg 0x445449
add byte [edi - 0x78], dh
inc edx
add ah, ah
jg 0x445451
mov byte [edx], al
in al, 0x7f
inc edx
add bh, dh
jg 0x445455
add byte [eax + eax*4], ah
inc edx
add byte [ecx - 0x80], ch
inc edx
add byte [ebp + 0x60004280], cl
add byte [edx], 0x69
add byte [edx], 0x8d
add byte [edx], 0x60
test byte [edx], al
ja 0x4453ae
mov byte [edx], al
ja 0x4453b2
inc edx
add byte [edi - 0x78], dh
mov byte [edx], al
and eax, 0x8e004281
inc edx
add byte [0x8e004281], ah
add dword [edx], case.0x427dc1.24
inc edx
add byte [esi - 0x4bffbd7c], cl
test byte [edx], al
mov ah, 0x84
inc edx
add al, ah
test byte [edx], al
loopne 0x4453be
test byte [edx], al
add dword [ebp - 0x7afeffbe], eax
inc edx
add byte [esi - 0x7b], al
inc edx
add byte [ecx], al
test dword [edx], eax
add dword [ebp - 0x7ab9ffbe], eax
test dword [edx], eax
inc esi
test dword [edx], eax
ja 0x4453d2
inc edx
add byte [edi - 0x78], dh
mov byte [edx], al
mov byte [0x30004285], al
inc edx
add byte [edx + 0x30004285], ah
test dword [edx], eax
add al, 0x86
inc edx
add byte [eax], ah
xchg byte [edx], al
cmp byte [esi - 0x79c7ffbe], al
inc edx
add byte [ebp - 0x7effbd7a], ch
xchg byte [edx], al
add dword [esi - 0x799fffbe], 0x86600042
xchg byte [edx], al
and byte [esi - 0x79c7ffbe], al
inc edx
add byte [eax], bh
xchg byte [edx], al
lodsd eax, dword [esi]
xchg byte [edx], al
add dword [esi - 0x797effbe], 0x86600042
inc edx
add byte [eax - 0x7a], ah
inc edx
add byte [ecx - 0x5effbd7a], ah
xchg byte [edx], al
outsd dx, dword [esi]
xchg byte [edx], al
lodsd eax, dword [esi]
xchg byte [edx], al
rol byte [esi - 0x790fffbe], 1
inc edx
add dl, dh
xchg byte [edx], al
xacquire xchg byte [edx], al
jnp 0x445421
inc edx
add byte [ecx - 0x79], dh
inc edx
add byte [edi + 0x50004286], bh
mov byte [edx], al
jnp 0x44542e
inc edx
add byte [ebx - 0x7c], bh
inc edx
add byte [0x2e004281], ah
add dword [edx], case.0x427dc1.19
xor byte [ecx - 0x7ec9ffbe], al
inc edx
add byte [ebp - 0x72ffbd7d], cl
add dword [edx], 0xffffff97
add dword [edx], 0xffffffa6
add byte [edi - 0x59ffbd7d], dl
add dword [edx], 0xffffffa6
add dword [edx], 0xffffff89
jle 0x44551d
add byte [ebp + 0x2800427e], dl
test byte [edx], al
sub byte [edx + eax*2 + 0x100], al
add byte [eax], ch
test byte [edx], al
mov cl, 0x7e
inc edx
add byte [ecx - 0x47ffbd82], dh
jle 0x445539
add byte [eax + 0x3800427e], bh
add byte [eax], bh
test byte [edx], al
cmp edi, dword [edi + 0x42]
add byte [eax + 0x7f], cl
inc edx
add byte [edx + 0x7f], cl
inc edx
add byte [edx + 0x7f], cl
inc edx
add byte [eax + 0x7f], dl
inc edx
add byte [edx + 0x7f], dl
inc edx
add byte [edx + 0x7f], dl
inc edx
add bh, bl
ja 0x44555d
add byte [eax], ah
jle 0x445561
add byte [eax - 0x3cffbd81], dh
test byte [edx], al
push cs
xchg byte [edx], al
lock xchg byte [edx], al
add dword cs:[edx], 1
push eax
jg 0x44557d
add byte [edi], cl
mov dword [edx], eax
jnp 0x4454cb
inc edx
add byte [eax + 0x62004289], dl
xchg ebp, eax
inc edx
add byte [ecx + ecx*4 + 0x42], ch
add byte [edx - 0x3fffbd77], bh
mov dword [edx], eax
ror byte [ecx - 0x761fffbe], 1
inc edx
add al, ah
mov dword [edx], eax
loopne 0x4454eb
mov dword [edx], eax
loopne 0x4454ef
inc edx
add al, ah
mov dword [edx], eax
loopne 0x4454f3
inc edx
add al, ah
mov dword [edx], eax
out 0x89, al
inc edx
add ch, ch
inc edx
add dh, ah
mov dword [edx], eax
in eax, dx
mov dword [edx], eax
insd dword es:[edi], dx
xchg ebp, eax
inc edx
add al, dl
xchg esp, eax
inc edx
add al, dl
xchg esp, eax
inc edx
add byte [eax], dl
xchg ebp, eax
inc edx
add byte [eax], dl
xchg ebp, eax
inc edx
add byte [esi], dl
xchg ebp, eax
inc edx
add byte [eax], al
mov al, byte [edx]
retf