Function at 0x431171
Capabilities:
Encode data using xor

Disassembly:
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
pop eax
rcl dl, cl
inc edx
jge 0x4311b1
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x4311c5
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
xchg ebx, eax
mov byte [0x969fa39f], al
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
mov dword [0x94a0855e], eax
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4311e1
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3068
pop esp
xor byte [eax + esi + 0x30], bl
jns 0x431186
xchg esi, eax
lahf
push eax
jge 0x431182
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
test dword [eax + 0x509f8450], esp
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
push eax
and dword [ecx + edx*4 + 0x30a3a5a4], 0x38
xor byte [eax], dh
xor byte [eax], dh
jle 0x4311b4
movsb byte es:[edi], byte [esi]
cdq
xchg esi, eax
test eax, 0x50979e99
movsb byte es:[edi], byte [esi]
mov byte [0x9950a991], al
xchg ebx, eax
lahf
sahf
push eax
lahf
xchg esi, eax
push eax
sahf
xchg ebp, eax
cmpsd dword [esi], dword es:[edi]
push eax
mov dword [0x95a491a4], eax
xor byte [edx], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
and dword [eax], esi
inc ebx
lock xor dword [eax], esi
xor byte [ecx], ah
xor byte [ebx - 0x10], al
xor dword [eax], esi
xor byte [eax], dh
adc byte [ebp + 0x30], al
xor byte [eax], bl
inc ebp
xor byte [eax], dh
jo 0x431283
cmp dword gs:[edx - 0x35], 0x39d23106
mov al, byte [0x4ef65edc]
ja 0x43123a
inc eax
or al, byte [ecx - 0x1c5c57e8]
mov al, 0x37
xor byte [ebx], bh
xor al, 0x30
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
fisttp dword [edx + 0x307d43e8]
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x4312bd
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
xchg ebx, eax
mov byte [0x969fa39f], al
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
mov dword [0x94a0855e], eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4312d9
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3058
dec ecx
xor byte [ecx + 0x30], cl
xor byte [ecx - 0x62], bh
xchg esi, eax
lahf
push eax
jge 0x43127a
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx - 0x6063636b], cl
cmpsd dword [esi], dword es:[edi]
and dword [ecx + edx*4 - 0x7b5c5a5c], 0xffffff99
popfd
xchg ebp, eax
mov dword [0xa09d91a4], eax
push eax
mov dword [0x99a3a395], eax
lahf
sahf
push eax
cmpsb byte [esi], byte es:[edi]
xchg ecx, eax
mov byte [0x9c929199], al
xchg ebp, eax
push eax
sahf
lahf
movsb byte es:[edi], byte [esi]
push eax
xchg esi, eax
lahf
movsd dword es:[edi], dword [esi]
sahf
xchg esp, eax
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
and byte [eax], dh
inc ebx
lock xor dword [eax], esi
xor byte [eax], ah
xor byte [ebx - 0x10], al
xor dword [eax], esi
xor byte [eax], dh
adc byte [ebp + 0x30], al
xor byte [eax], bl
inc ebp
xor byte [eax], dh
jo 0x43137b
cmp dword gs:[edx - 0x35], 0x39d23106
mov al, byte [0x4ef65edc]
ja 0x431332
inc eax
or al, byte [ecx - 0x1c5c57e8]
mov al, 0x37
xor byte [ebx], bh
xor al, 0x30
mov dword [0x3037b0e3], eax
cmp esi, dword [eax + esi]
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
dec edx
js 0x431359
inc ebx
jge 0x4313a1
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x4313b5
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
xchg ebx, eax
mov byte [0x969fa39f], al
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
mov dword [0x94a0855e], eax
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4313d1
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3058
dec ecx
xor byte [ecx + 0x30], cl
xor byte [ecx - 0x62], bh
xchg esi, eax
lahf
push eax
jge 0x431372
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [ebp + edx*4 - 0x64], dh
xchg ecx, eax
test eax, 0xa9919450
mov dword [0x9e9f9350], eax
xchg esi, eax
cdq
xchg edi, eax
push eax
cmpsb byte [esi], byte es:[edi]
xchg ecx, eax
pushfd
movsd dword es:[edi], dword [esi]
xchg ebp, eax
mov dword [0xa49f9e50], eax
push eax
mov dword [0x9950a495], eax
sahf
push eax
jg 0x4313b7
xchg ebp, eax
adc dword [ebp - 0x61665b5c], 0xffffff97
mov dword [0x43301330], eax
lock xor dword [eax], esi
xor byte [ebx], dl
xor byte [ebx - 0x10], al
xor dword [eax], esi
xor byte [eax], dh
adc byte [ebp + 0x30], al
xor byte [eax], bl
inc ebp
xor byte [eax], dh
jo 0x43146b
cmp dword gs:[edx - 0x35], 0x39d23106
mov al, byte [0x4ef65edc]
ja 0x431422
inc eax
or al, byte [ecx - 0x1c5c57e8]
out 0x36, al
xor byte [ebx], bh
xor al, 0x30
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
add dh, al
in al, dx
inc ebx
jge 0x431491
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x4314a5
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
insb byte es:[edi], dx
xor byte [ebp - 0x67], bh
xchg ebx, eax
mov byte [0x969fa39f], al
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
mov dword [0x94a0855e], eax
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4314c1
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3068
pop edx
xor byte [edx + 0x30], bl
xor byte [ecx - 0x62], bh
xchg esi, eax
lahf
push eax
jge 0x431462
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
sbb dword [eax - 0x6b635a61], 0xffffff83
cwde
lahf
cmpsd dword [esi], dword es:[edi]
jns 0x43147b
lahf
sahf
xor byte [ebx + esi + 0x30303030], dh
xor byte [eax], dh
jg 0x431574
jb 0x43156c
push eax
xchg ebx, eax
cwde
xchg ebp, eax
xchg ebx, eax
wait
push eax
mov byte [0x9ca5a395], al
movsb byte es:[edi], byte [esi]
xor byte [ecx], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [edx], ah
xor byte [ebx - 0x10], al
xor dword [eax], esi
xor byte [eax], dh
adc byte [ebp + 0x30], al
xor byte [eax], bl
inc ebp
xor byte [eax], dh
jo 0x431553
xor byte [eax], dh
sbb byte [ebp + 0x30], al
xor byte [eax + 0x36], dh
cmp dword gs:[edx - 0x35], 0x39d23106
mov al, byte [0x4ef65edc]
ja 0x43150a
inc eax
or al, byte [ecx - 0x1c5c57e8]
out 0x36, al
xor byte [ebx], bh
xor al, 0x30
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
jno 0x431515
in al, dx
inc ebx
jge 0x431579
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x43158d
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
insb byte es:[edi], dx
xor byte [ebp - 0x67], bh
xchg ebx, eax
mov byte [0x969fa39f], al
xchg esi, eax
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
cmpsd dword [esi], dword es:[edi]
mov dword [0x94a0855e], eax
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4315a9
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3068
pop edx
xor byte [edx + 0x30], bl
xor byte [ecx - 0x62], bh
xchg esi, eax
lahf
push eax
jge 0x43154a
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
sbb dword [eax - 0x6b635a61], 0xffffff83
cwde
lahf
cmpsd dword [esi], dword es:[edi]
jns 0x431563
lahf
sahf
xor byte [ebx + esi + 0x30303030], dh
xor byte [eax], dh
sbb dword [eax - 0x6b635a61], 0x50
cdq
xchg ebx, eax
lahf
sahf
push eax
xchg edx, eax
xchg ebp, eax
push eax
mov dword [0x9ea79f98], eax
push eax
cdq
sahf
push eax
movsb byte es:[edi], byte [esi]
cwde
xchg ebp, eax
push eax
movsb byte es:[edi], byte [esi]
mov byte [0x3130a991], al
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
popfd
xor dword [ebx - 0x10], eax
xor dword [eax], esi
xor byte [eax], dh
adc byte [ebp + 0x30], al
xor byte [eax], bl
inc ebp
xor byte [eax], dh
sbb dword [0xcb7a8169], ecx
xor byte [ebp + 0x31f04331], bl
xor byte [eax], dh
xor byte [eax], dl
inc ebp
xor byte [eax], dh
sbb byte [ebp + 0x30], al
xor byte [ecx], bl
or eax, 0xcb7a8169
push es
xor edx, edx
cmp dword [eax + 0x4ef65edc], esp
ja 0x431602
inc eax
or al, byte [ecx - 0x1c5c57e8]
adc al, byte [edi + 0x30]
cmp esi, dword [eax + esi]
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
sub dh, 0x39
dec eax
jge 0x431671
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
js 0x431685
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x30], bh
cmp al, 0x30
xor dword [eax], esi
insb byte es:[edi], dx
xor byte [eax + esi + 0x7d], ch
cdq
xchg ebx, eax
mov byte [0x969fa39f], al
movsb byte es:[edi], byte [esi]
pop esi
xchg dword [ecx - 0x58606b62], ebx
mov dword [0x94a0855e], eax
xchg esp, eax
xchg ecx, eax
movsb byte es:[edi], byte [esi]
xchg ebp, eax
pop esi
test dword [eax - 0x5b6081a2], ebp
cdq
xchg esi, eax
test eax, 0x9e9f9379
xor byte [ebx + 0x30], al
xor dword [edx - 0x5d], ecx
cmp byte [edi - 1], 0xb9
xor byte [ecx], dh
dec edx
mov dword [0xb9ff7f80], eax
mov dl, 0x77
jecxz 0x4316a1
or al, 0x18
stc
xor al, 0xa6
ljmp 0x3060
push edx
xor byte [edx + 0x30], dl
xor byte [ecx - 0x62], bh
xchg esi, eax
lahf
push eax
jge 0x431642
mov dword [0x959791a3], eax
xor byte [ebp - 0x6e5c5c6b], bl
xchg edi, eax
xchg ebp, eax
xor byte [edx], dh
movsb byte es:[edi], byte [esi]
lahf
lahf
pushfd
movsb byte es:[edi], byte [esi]
cdq
mov al, byte [0x30303130]
xor byte [eax], dh
xor byte [eax], dh
jns 0x431660
lahf
sahf
push eax
movsb byte es:[edi], byte [esi]
lahf
lahf
pushfd
movsb byte es:[edi], byte [esi]
cdq
mov al, byte [0xa495a350]
xor byte [ecx - 0x5acf60d0], cl
xor byte [edx - 0x6bcfafd0], ah
xor byte [ebp - 0x66cf59d0], dl
xor byte [ebx + 0x50309530], dl
xor byte [ecx + 0x5030a330], bl
xor byte [ebp - 0x5ccf66d0], bl
xor byte [ebx - 0x61cf66d0], ah
xor byte [edi - 0x66cfafd0], dl
xor byte [ebp - 0x60cf5fd0], bl
xor byte [edx - 0x6ecf5bd0], ah
xor byte [esi + 0x5030a430], bl
xor byte [ebp - 0x6bcf5fd0], ah
xor byte [ecx - 0x6acf5bd0], dl
xor byte [ebx + 0x3a305030], ah
xor byte [ebx - 0x63cf6ad0], al
xor byte [ebp - 0x5bcf6cd0], dl
xor byte [eax + 0x30], dl
movsb byte es:[edi], byte [esi]
xor byte [eax - 0x5ccf66d0], bl
xor byte [eax + 0x30], dl
cdq
xor byte [ebx - 0x61cf60d0], dl
xor byte [eax + 0x30], dl
xchg esi, eax
xor byte [edi + 0x5030a230], bl
xor byte [ebp - 0x5dcf60d0], bl
xor byte [ebp - 0x66cfafd0], dl
xor byte [esi - 0x60cf69d0], bl
xor byte [esi + 0x30], bl
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + 0x31f04332], bh
xor byte [eax], dh