Function at 0x40173c
Capabilities:
Encode data using xor

Disassembly:
push 0x435924
call sub.MSVBVM60.DLL_ThunRTMain
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
pushal
add byte [eax], al
add byte [eax], cl
add byte [eax], al
or eax, 0xc8160418
loope 0x4017cc
inc edx
mov ah, 0xd4
salc
adc eax, 0x839cc319
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push edx
bound esp, qword gs:[ebp + 0x6c]
pop edi
push ebx
insd dword es:[edi], dx
imul ebp, dword [ebp + 0x79], 0x36315f73
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp bh, byte [edx]
and byte [edx + 0x65], dl
bound esp, qword [ebp + 0x6c]
and byte [ebx + 0x6d], dl
imul ebp, dword [ebp + 0x79], 0x2e312073
xor al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
int3
jne 0x4017d2
pop ecx
movsb byte es:[edi], byte [esi]
idiv dword [edx]
dec edi
lodsd eax, dword [esi]
xor ebx, dword [ecx - 0x48ee309a]
or al, 0
stosb byte es:[edi], al
add byte [eax - 0x2d], ah
xchg ebx, eax
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], al
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jne 0x401847
add eax, dword [eax]
add dword [eax], ebp
add byte [eax], al
add byte [0x726f4600], al
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x20002601
cmp bh, byte [edx]
and byte [edx + 0x65], dl
bound esp, qword [ebp + 0x6c]
and byte [ebx + 0x6d], dl
imul ebp, dword [ebp + 0x79], 0x20202073
and byte [ebx + 0x20], bl
inc esi
imul esi, dword [edx + 0x73], 0x64452074
imul esi, dword [ecx + ebp*2 + 0x6f], 0x5d206e
sbb dword [ecx], eax
add byte [edx], al
and al, byte [ebx]
add al, 0x23
sahf
daa
add byte [eax], al
insb byte es:[edi], dx
je 0x401850
add byte [esi + 0x27], dl
add byte [ecx], al
add byte [esi], al
add byte [eax], dh
xor byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x6600000e], ch
add byte [eax], al
add byte [eax], ah
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0xe000008], ch
sldt word [eax]
adc byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
push 0xb6000005
pop ss
add byte [eax], al
adc byte [eax], dl
adc byte [eax], al
add byte [eax], al
add byte [eax], al
sub byte [ecx], al
add byte [eax], al
push ds
sbb eax, 0x20200000
adc byte [eax], al
add byte [eax], al
add byte [eax], al
call 0x464018aa
push ds
add byte [eax], al
xor byte [eax], dh
adc byte [eax], al
add byte [eax], al
add byte [eax], al
push 0x2e000006
and dword [eax], eax
add byte [eax], ch
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add dword [eax], eax
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb byte [eax], al
add byte [eax], cl
and dword [eax], eax
add byte [eax], cl
sub dword [eax], eax
add byte [eax], cl
xor dword [eax], eax
add byte [eax], dl
xor dword [eax], eax
or byte [eax], bl
xor dword [eax], eax
add byte [eax], cl
cmp dword [eax], eax
add byte [eax], dl
cmp dword [eax], eax
or byte [eax], dl
cmp dword [eax], eax
or byte [eax], bl
cmp dword [eax], eax
or byte [ecx], ah
cmp dword [eax], eax
add byte [eax], dl
inc edx
add byte [eax], cl
adc byte [edx], al
or byte [eax], bl
inc edx
add byte [eax], cl
and dword [edx], eax
add byte [eax], dl
dec edx
add byte [eax], cl
sbb byte [edx], cl
or byte [ecx], ah
dec edx
add byte [eax], dl
and dword [edx], ecx
add byte [eax], dl
push edx
add byte [eax], cl
sbb byte [edx], dl
or byte [ecx], ah
push edx
add byte [eax], bl
xor dword [edx], edx
add byte [eax], dl
pop edx
add byte [eax], al
sbb byte [edx], bl
or byte [eax], bl
pop edx
add byte [eax], cl
and dword [edx], ebx
or byte [ecx], ch
pop edx
add byte [eax], dl
xor dword [edx], ebx
and dword [ecx], edi
pop edx
add byte [eax], al
sbb byte [ebx], ah
adc byte [ecx], ch
arpl word [eax], ax
or byte [ecx], dh
arpl word [eax], ax
adc byte [ecx], dh
arpl word [eax], ax
sbb byte [ecx], bh
arpl word [eax], ax
add byte [eax], bl
imul eax, dword [eax], 8
and dword [ebx], ebp
sbb byte [ecx], bh
imul eax, dword [eax], 0x21
inc edx
imul eax, dword [eax], 0x29
inc edx
imul eax, dword [eax], 0x29
dec edx
imul eax, dword [eax], 0
sbb byte [ebx], dh
add byte [ecx], ah
jae 0x401993
or byte [ecx], ah
jae 0x401997
adc byte [ecx], dh
jae 0x40199b
adc byte [ecx], bh
jae 0x40199f
adc byte [edx + 0x73], al
add byte [eax], bl
inc edx
jae 0x4019a7
and dword [edx + 0x73], eax
add byte [ecx], ch
push edx
jae 0x4019af
add byte [eax], bl
jnp 0x4019b3
add byte [ecx], ah
jnp 0x4019b7
or byte [ecx], ch
jnp 0x4019bb
sbb byte [edx + 0x7b], al
add byte [ecx], ch
dec edx
jnp 0x4019c3
xor dword [edx + 0x7b], edx
add byte [ecx], bh
pop edx
jnp 0x4019cb
add byte [ecx], ah
test byte [eax], al
add byte [ecx], ch
test byte [eax], al
or byte [ecx], ch
test byte [eax], al
add byte [ecx], dh
test byte [eax], al
or byte [ecx], bh
test byte [eax], al
adc byte [edx - 0x7c], al
add byte [eax], dl
dec edx
test byte [eax], al
sbb byte [edx - 0x7c], cl
add byte [ecx], ch
dec edx
test byte [eax], al
and dword [edx - 0x7c], edx
add byte [ecx], ch
push edx
test byte [eax], al
xor dword [edx - 0x7c], ebx
add byte [eax], al
and dword [eax + eax + 0x8c3110], ecx
add byte [eax], dl
inc edx
test byte [eax], al
adc byte [edx - 0x7c], cl
add byte [eax], bl
dec edx
test byte [eax], al
sub dword [edx - 0x7c], ecx
add byte [ecx], ah
push edx
test byte [eax], al
sub dword [edx - 0x7c], edx
add byte [ecx], dh
pop edx
test byte [eax], al
add byte [ecx], ah
mov word [eax], es
adc byte [ecx], dh
mov word [eax], es
or byte [ecx], bh
mov word [eax], es
adc byte [ecx], bh
mov word [eax], es
adc byte [edx - 0x74], al
add byte [eax], bl
push edx
mov word [eax], es
xor dword [edx - 0x74], ebx
add byte [ecx], dh
arpl word [eax + eax + 0x8c6342], cx
dec edx
imul ecx, dword [eax + eax + 0x942100], 0
sub dword [eax + eax + 0x943908], edx
or byte [edx - 0x6c], cl
add byte [eax], bl
dec edx
xchg esp, eax
add byte [eax], bl
push edx
xchg esp, eax
add byte [ecx], ah
push edx
xchg esp, eax
add byte [ecx], bh
imul edx, dword [eax + eax + 0x947342], 0x4a
jae 0x4019de
add byte [edx + 0x73], dl
xchg esp, eax
add byte [eax], al
sub dword [eax + eax + 0x9c2908], ebx
and dword [ebx - 0x64], esp
add byte [edx + 0x73], cl
pushfd
add byte [edx + 0x7b], dl
pushfd
add byte [ebx - 0x7c], ah
pushfd
add byte [eax], al
and dword [ebp - 0x5ad70000], esp
add byte [eax], al
xor dword [ebp - 0x5ac70000], esp
add byte [eax], dl
inc edx
movsd dword es:[edi], dword [esi]
add byte [ecx], ah
push edx
movsd dword es:[edi], dword [esi]
and dword [edx - 0x5b], edx
add byte [ecx], ah
pop edx
movsd dword es:[edi], dword [esi]
and dword [edx - 0x5b], ebx
add byte [ecx], ah
arpl word [ebp - 0x5a94df00], sp
add byte [ebx - 0x7c], ah
movsd dword es:[edi], dword [esi]
add byte [eax], al
sub dword [ebp - 0x52c70000], ebp
add byte [ecx], ah
imul ebp, dword [ebp - 0x5294d700], 0
sub dword [ebx - 0x53], esi
add byte [edx + 0x7b], cl
lodsd eax, dword [esi]
add byte [ebx - 0x74], ah
lodsd eax, dword [esi]
add byte [ebx - 0x74], ch
lodsd eax, dword [esi]
add byte [ebx - 0x6c], ch
lodsd eax, dword [esi]
add byte [eax], al
sub dword [ebp - 0x4acf0000], esi
add byte [eax], al
inc edx
mov ch, 0
add byte [edx - 0x4b], cl
add byte [ecx], ch
jae 0x401a7b
add byte [ecx], bh
jnp 0x401a7f
add byte [esp + ebx*4 + 0x290000b5], al
mov ebp, 0xbd310000
add byte [eax], dl
xor dword [ebp - 0x42a5f000], edi
add byte [ecx], ah
imul edi, dword [ebp - 0x427bcf00], 0
push edx
invalid
pop edx
mov ebp, 0xbd6b2100
add byte [ecx], dh
test byte [ebp - 0x4273ae00], bh
add byte [eax], al
sub esi, eax
add byte [eax], al
xor esi, eax
add byte [eax], al
cmp esi, eax
add byte [eax], al
inc edx
mov byte [eax], 0
push edx
mov byte [eax], 0
pop edx
mov byte [eax], 8
pop edx
mov byte [eax], 0x10
imul eax, esi, 0
and dword [ebx - 0x3a], ebp
add byte [eax], bl
jae 0x401ad4
add byte [ecx], ah
jnp 0x401ad8
add byte [ecx], dh
test dh, al
add byte [edx - 0x74], dl
mov byte [eax], 0
xor esi, ecx
add byte [eax], al
cmp esi, ecx
add byte [eax], cl
inc edx
into
add byte [eax], al
pop edx
into
add byte [eax], cl
imul ecx, esi, 0
adc byte [ebx - 0x32], ch
add byte [ecx], bh
xchg esp, eax
into
add byte [edx - 0x64], cl
into
add byte [ebx - 0x5b], dh
into
add byte [ebp + esi*4 - 0x425aff32], bl
into
add byte [eax], al
xor esi, edx
add byte [eax], al
cmp esi, edx
add byte [eax], al
inc edx
salc
add byte [eax], al
dec edx
salc
add byte [eax], al
push edx
salc
add byte [eax], al
pop edx
salc
add byte [eax], al
arpl si, dx
add byte [eax], al
imul edx, esi, 0
adc byte [ebx - 0x2a], dh
add byte [edx - 0x64], al
salc
add byte [eax], al
xor esi, ebx
add byte [eax], al
cmp esi, ebx
add byte [eax], al
inc edx
fiadd word [eax]
add byte [ebx - 0x22], ch
add byte [eax], cl
jae 0x401b60
add byte [edx - 0x5b], al
fiadd word [eax]
dec edx
lodsd eax, dword [esi]
fiadd word [eax]
mov ebp, 0xdece
cmp edi, esp
add byte [eax], al
inc edx
out 0, eax
add byte [ebx - 0x19], ch
add byte [eax], dl
test bh, ah
add byte [ecx], bh
pushfd
out 0, eax
mov ch, 0xce
out 0, eax
dec edx
mov ch, 0xef
add byte [edx - 0x43], dl
out dx, eax
add byte [ebx - 0x32], ah
inc dword [eax]
add byte [eax + 0x7f7f0000], 0x7f
add byte [edi + 0x7f], bh
jg 0x401bbf
jg 0x401c40
jg 0x401bc3
jg 0x401c44
jg 0x401bc7
jg 0x401c48
jg 0x401bcb
jg 0x401c4c
jg 0x401bcf
jg 0x401c50
jg 0x401bd3
jg 0x401c54
jg 0x401bd7
jg 0x401c58
jg 0x401bdb
jg 0x401c5c
jg 0x401bdf
jg 0x401c60
jg 0x401be3
jg 0x401c64
jg 0x401be7
jg 0x401c68
jg 0x401beb
jg 0x401c6c
jg 0x401bef
jg 0x401c70
jg 0x401bf3
jg 0x401c74
jg 0x401bf7
jg 0x401c78
jg 0x401bfb
jg 0x401c7c
jg 0x401bff
jg 0x401c80
jg 0x401c03
jg 0x401c84
jg 0x401c07
jg 0x401c88
jg 0x401c0b
jg 0x401c8c
jg 0x401c0f
jg 0x401c90
jg 0x401c13
jg 0x401c94
jg 0x401c17
jg 0x401c98
jg 0x401c1b
jg 0x401c9c
jg 0x401c1f
jg 0x401ca0
jg 0x401c23
jg 0x401ca4
jg 0x401c27
jg 0x401ca8
jg 0x401c2b
jg 0x401cac
jg 0x401c2f
jg 0x401cb0
jg 0x401c33
jg 0x401cb4
jg 0x401c37
jg 0x401cb8
jg 0x401c3b
jg 0x401cbc
jg 0x401c3f
jg 0x401cc0
jg 0x401cc1
jg 0x401c43
add byte [edi + 0x7f], bh
jg 0x401cc4
jg 0x401cc5
jg 0x401c47
add byte [edi + 0x7f], bh
jg 0x401cc8
jg 0x401cc9
jg 0x401c4b
add byte [edi + 0x7f], bh
jg 0x401ccc
jg 0x401ccd
jg 0x401c4f
add byte [edi + 0x7f], bh
jg 0x401cd0
jg 0x401cd1
jg 0x401c53
add byte [edi + 0x7f], bh
jg 0x401cd4
jg 0x401cd5
jg 0x401c57
add byte [edi + 0x7f], bh
jg 0x401cd8
jg 0x401cd9
jg 0x401c5b
add byte [edi + 0x7f], bh
jg 0x401cdc
jg 0x401cdd
jg 0x401c5f
add byte [edi + 0x7f], bh
jg 0x401ce0
jg 0x401ce1
jg 0x401c63
add byte [edi + 0x7f], bh
jg 0x401ce4
jg 0x401ce5
jg 0x401c67
add byte [edi + 0x7f], bh
jg 0x401ce8
jg 0x401ce9
jg 0x401c6b
add byte [edi + 0x7f], bh
jg 0x401cec
jg 0x401ced
jg 0x401c6f
add byte [edi + 0x7f], bh
jg 0x401cf0
jg 0x401cf1
jg 0x401c73
add byte [edi + 0x7f], bh
jg 0x401cf4
jg 0x401cf5
jg 0x401c77
add byte [edi + 0x7f], bh
jg 0x401cf8
jg 0x401cf9
jg 0x401c7b
add byte [edi + 0x7f], bh
jg 0x401cfc
jg 0x401cfd
jg 0x401c7f
add byte [edi + 0x7f], bh
jg 0x401d00
jg 0x401d01
jg 0x401c83
add byte [edi + 0x7f], bh
jg 0x401d04
jg 0x401d05
jg 0x401c87
add byte [edi + 0x7f], bh
jg 0x401d08
jg 0x401d09
jg 0x401c8b
add byte [edi + 0x7f], bh
jg 0x401d0c
jg 0x401d0d
jg 0x401c8f
add byte [edi + 0x7f], bh
jg 0x401d10
jg 0x401d11
jg 0x401c93
add byte [edi + 0x7f], bh
jg 0x401d14
jg 0x401d15
jg 0x401c97
add byte [edi + 0x7f], bh
jg 0x401d18
jg 0x401d19
jg 0x401c9b
add byte [edi + 0x7f], bh
jg 0x401d1c
jg 0x401d1d
jg 0x401c9f
add byte [edi + 0x7f], bh
jg 0x401d20
jg 0x401d21
jg 0x401ca3
add byte [edi + 0x7f], bh
jg 0x401d24
jg 0x401d25
jg 0x401ca7
add byte [edi + 0x7f], bh
jg 0x401d28
jg 0x401d29
jg 0x401cab
add byte [edi + 0x7f], bh
jg 0x401d2c
jg 0x401d2d
jg 0x401caf
add byte [edi + 0x7f], bh
jg 0x401d30
jg 0x401d31
jg 0x401cb3
add byte [edi + 0x7f], bh
jg 0x401d34
jg 0x401d35
jg 0x401cb7
add byte [edi + 0x7f], bh
jg 0x401d38
jg 0x401d39
jg 0x401cbb
add byte [edi + 0x7f], bh
jg 0x401d3c
jg 0x401d3d
jg 0x401cbf
add byte [edi + 0x7f], bh
jg 0x401d40
jg 0x401d41
jg 0x401cc3
add byte [edi + 0x7f], bh
jg 0x401d44
jg 0x401d45
jg 0x401cc7
add byte [edi + 0x7f], bh
jg 0x401d48
jg 0x401d49
jg 0x401ccb
add byte [edi + 0x7f], bh
jg 0x401d4c
jg 0x401d4d
jg 0x401ccf
add byte [edi + 0x7f], bh
jg 0x401d50
jg 0x401d51
jg 0x401cd3
add byte [edi + 0x7f], bh
jg 0x401d54
jg 0x401d55
jg 0x401cd7
add byte [edi + 0x7f], bh
jg 0x401d58
jg 0x401d59
jg 0x401cdb
add byte [edi + 0x7f], bh
jg 0x401d5c
jg 0x401d5d
jg 0x401cdf
add bh, bh
invalid
invalid
inc dword [eax]
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], al
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], al
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], al
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], al
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], al
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], al
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], al
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], al
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], al
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], al
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], dh
add byte ss:[eax], al
add byte ss:[eax], al
add byte ss:[eax], al
add byte ss:[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], al
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], al
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], al
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], al
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], al
add byte [eax], al
add byte [esi], dh
xor al, 0x65
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 0x65
push ecx
sbb ch, byte [ebx]
inc ebp
add byte ss:[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], al
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x7c], ah
jne 0x401d24
xor byte [esi - 0x6f], 0x7c
aaa
add dword [esi], esi
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], al
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi + 0x6b], al
cdq
je 0x401d52
invalid