Function at 0x4020d0
Capabilities:
Encode data using xor
Parse pe header

Disassembly:
div byte [ebx]
ret
int3
fisubr word [eax - 0xf3884b9]
and al, 0x33
dec ebx
add byte [ecx], 0x33
xor esp, eax
fstp st(4)
mov edi, 0x7b30be2e
jo 0x40208a
jnp 0x40206b
adc esi, ebx
xor ebp, ebx
xor al, 0x63
and al, 0x69
jb 0x40214b
and eax, 0x6b24543c
cmp al, 0x44
cmp al, 0x54
cmp al, 0x5b
jne 0x40210a
xor esi, dword [ebx]
xor esp, ebp
cmp al, 0x48
cmp al, 0x63
cmp al, 0x55
push ss
xor byte [ebx], 0x33
xor esp, dword [0x337051b2]
xor esi, dword [ebx]
jnp 0x402146
xor esi, dword [ebx]
xor esp, esp
jb 0x402180
xor esi, dword [ebx]
in al, 0x72
popal
scasd eax, dword es:[edi]
jb 0x402185
push eax
cmp al, 0x58
jmp 0x40211a
mov dl, 0x71
movsb byte es:[edi], byte [esi]
xor esi, dword [ebx]
xor esi, dword [eax + 0x6db01f73]
jae 0x40216c
mov al, 0x6d
invalid
imul esi, dword [edx + 0x33333654], 0xbf557233
mov al, 0x64
mov ecx, 0x721650b0
push esp
jb 0x4021c2
jmp 0x40215c
xor dh, byte [ebx]
xor esi, dword [ebx]
jne 0x402144
mov esi, 0x72333333
call 0x73019202
xor esi, dword [ebx]
xor esi, dword [edx + 0x64]
xor esi, dword [ebx]
jb 0x4021ef
call 0x73019202
popal
mov bl, 0x3c
pop ebx
mov al, 0x6d
push ss
jb 0x4021fa
leave
jb 0x40220d
jp 0x402187
cmp al, 0x55
and al, 0x64
mov dl, 0x68
sahf
xor esi, dword [ebx]
xor esi, ecx
in al, 0x3c
pushal
mov al, 0x4b
adc dh, byte [edx + 0x33338c55]
xor esi, dword [edx + 0x3333b04d]
xor esp, dword [eax + ebp*2]
jb 0x402228
xlatb
call 0x3cac7b37
pop ecx
pop ecx
insb byte es:[edi], dx
cmp al, 0x59
mov dl, 0x51
dec eax
xor esi, dword [ebx]
xor esi, dword [edx + 0x58]
mov ah, 0x7b
loope 0x402205
xor esi, dword [ebx]
cmp al, 0x54
cmp al, 0x5b
cmp al, 0x5d
and al, 0x6b
in al, 0xe9
mov al, 0x49
fdiv qword [edx + 0x70]
out dx, al
cmp al, 0x61
and al, 0x68
mov al, 0x4d
mov dl, 0x59
cmp byte [ebx], dh
xor esi, dword [ebx]
jb 0x402251
xor esi, dword [ebx]
xor esi, dword [edx + 0x5d]
test eax, 0x33784db2
xor esi, dword [ebx]
cmp al, 0x61
xor edi, dword [ecx]
mov dl, 0x6c
cdq
xor esi, dword [ebx]
xor esp, esp
and al, 0x69
cmp al, 0x59
cmp al, 0x5b
cmp al, 0x48
imul edi, dword [ecx + ebx*2], 0x483c5b3c
in al, 0xec
in al, dx
mov al, 0x71
mov esi, 0x33a458b2
xor esi, dword [ebx]
in al, 0xb0
dec esp
pop eax
movsb byte es:[edi], byte [esi]
xor esi, dword [ebx]
xor esp, esp
mov al, 0x4c
jecxz 0x40228e
popal
ja 0x402212
mov al, 0x44
call 0x447c8a4a
in eax, 0xe8
in al, dx
mov dl, 0x4d
push edx
xor esi, dword [ebx]
xor esi, dword [eax + 0x69723353]
jb 0x40229d
std
jb 0x4022a4
xchg ebp, eax
in al, dx
jb 0x4022ae
imul cl
cmp al, 0x59
jb 0x4022ae
adc byte [eax + 0x69b0f370], dh
les esp, [ecx + ebp*2]
jb 0x4022bf
salc
mov dl, 0x70
mov dh, byte [ebx]
xor esi, dword [ebx]
mov dl, 0x6d
jbe 0x40228a
xor esi, dword [ebx]
jb 0x4022cb
mov ebp, 0xb2435572
push eax
popal
xor esi, dword [ebx]
xor ebp, ebx
jb 0x4022c2
add edi, dword [ecx + ecx*2]
mov dl, 0x6d
pushfd
xor esi, dword [ebx]
xor edi, dword [ecx]
js 0x402232
xor esi, dword [ebx]
xor edi, dword [esp + edx*2]
js 0x4022dc
xor esi, dword [ebx]
xor edi, dword [ebx + ebx*2]
and al, 0x64
jmp 0x69f283c5
xor esi, dword [ebx]
xor edi, dword [ebx + ecx*2]
dec ebx
cmp al, 0x44
jb 0x4022ef
sbb al, 0x3c
push ebp
cmp al, 0x4b
jb 0x402302
jmp 0x33d16c52
dec ecx
xchg ecx, eax
xor esi, dword [ebx]
xor esi, dword [edx + 0x33335f65]
pop edi
xor esi, dword [ebx]
xor esi, dword [edx + 0x58]
sahf
and al, 0x6b
push cs
mov dword [ebx], esi
xor esi, dword [ebx]
mov dl, 0x54
mov dh, byte [ebx]
xor esi, dword [ebx]
mov dl, 0x69
push edx
xor esi, dword [ebx]
xor esi, dword [ebx + eax*2 + 0x33]
xor esi, dword [ebx]
cmp al, 0x48
inc ebx
xor esi, dword [ebx]
xor edi, dword [eax + ecx*2]
jb 0x40232f
sahf
cmp al, 0x44
call 0x3bb7c0b
cmp al, 0x59
jnp 0x4022d2
xor esi, dword [ebx]
xor edi, dword [ecx]
cmp al, 0x61
jb 0x40232a
sbb byte [ecx + ebp*2], ah
and al, 0x69
invalid
mov al, 0x50
mov bh, 0x3c
pushal
jb 0x402338
and eax, 0x543c583c
jb 0x40234e
jle 0x40235e
push esp
int1
invalid
cmp al, 0x58
mov dl, 0x49
dec esi
xor esi, dword [ebx]
xor esi, dword [edx + 0x68]
mov byte [0x3c1c5c72], al
pop ecx
jb 0x402372
iretd
jmp 0x402376
inc ebx
xor al, 0xc9
sub ecx, ecx
xor byte [eax + 0x43762fae], ch
xor al, 0xe3
xor al, 0x1e
push ds
add eax, dword [ebx]
xor ebp, dword [edx + 0x43761bae]
xor al, 0xa8
cmpsb byte [esi], byte es:[edi]
sbb esi, dword [esi + 0x43]
xor al, 0xe2
test al, 0x9e
das
jbe 0x402392
inc ebx
xor al, 0xe1
xor al, 0x1e
pop es
add esi, edx
xor ebp, dword [edx + 0x437623ae]
xor al, 0xa8
scasb al, byte es:[edi]
sbb esi, dword [esi + 0x43]
xor al, 0xe3
test al, 0xa6
das
jbe 0x4023ac
xor al, 0xe2
xor al, 0x1e
or eax, dword [ebx]
xor ebp, dword [edx + 0x437737ae]
scasb al, byte es:[edi]
aaa
ja 0x4023b9
xor al, 0xa8
sahf
aaa
ja 0x4023bf
xor al, 0xe1
xor al, 0x1e
lsl esi, edx
xor ebp, dword [edx + 0x437617ae]
xor al, 0x6c
scasb al, byte es:[edi]
push ebx
ja 0x4023d2
xor al, 0x33
xor esi, dword [ebx]
xor ecx, dword [eax + 0x24]
test al, 0xae
xor esi, dword [ebx]
dec eax
and al, 0xa8
scasb al, byte es:[edi]
push ebx
ja 0x4023de
xor al, 0xb0
jae 0x4023d1
stosb byte es:[edi], al
scasb al, byte es:[edi]
push ebx
ja 0x4023e7
xor al, 0xa8
cmpsb byte [esi], byte es:[edi]
push ebx
ja 0x4023ed
xor al, 0xf8
cmpsb byte [esi], byte es:[edi]
and esi, dword [esi + 0x43]
xor al, 0xc0
push ss
test al, 0x9e
pop ss
jbe 0x4023fb
xor al, 0x30
sahf
push ebx
ja 0x402401
xor byte [esi + 0x34437753], bl
xor al, 0xa8
scasb al, byte es:[edi]
test al, 0xae
push ebx
ja 0x402407
xor al, 0xa9
sub dword [ebx + 0x760b2ea7], ebp
inc ebx
xor al, 0x48
insd dword es:[edi], dx
retf
int1
int1
and al, 0x33
cmpsb byte [esi], byte es:[edi]
sahf
or esi, dword [esi + 0x43]
xor al, 0xe1
dec ebx
xor al, 0x3b
xor al, 0x34
cmp esi, dword [esp + esi]
mov al, 0x6f
sub esp, dword [esi + 0x43760bae]
jbe 0x40242c
xor al, 0xaa
out dx, al
sub edi, dword [esp + ebx*2]
cmp al, 0x5c
mov al, 0x4c
xor edi, dword [eax + 0x34]
xor esi, dword [ebx]
xor esp, esp
cmp al, 0x54
jmp 0x4023ac
mov al, 0x5b
invalid
in al, dx
jmp 0x335e9ff3
xor esi, dword [ebx]
jb 0x40246b
jo 0x40247f
jo 0x402391
jne 0x402402
xor esi, dword [ebx]
xor esi, dword [edx + 0x33338259]
xor esi, dword [eax + 0x493ccd4c]
cmp al, 0x4b
cmp al, 0x5d
mov dl, 0x51
xchg ecx, eax
xor esi, dword [ebx]
xor edi, dword [ecx + 0x46]
xor esi, dword [ebx]
xor esi, dword [edx + 0x6b]
xor esi, dword [ebx]
jb 0x40249b
daa
cmp al, 0x45
in eax, dx
and al, 0x65
jb 0x4024a0
and dword [edx + 0x60], esi
push 0x3c
arpl word [esi], bp
test dword [ebx], esi
xor esi, dword [ebx]
cmp al, 0x44
cmp al, 0x59
pop ecx
cmp al, 0x63
mov al, 0x4c
and edi, dword [ecx + ebx*2]
jb 0x4024a8
xchg ebp, eax
cmp al, 0x45
in eax, dx
cmp al, 0x49
cmp al, 0x59
cmp al, 0x4b
push cs
lodsd eax, dword [esi]
xor esi, dword [ebx]
xor esi, dword [eax + 0x44b0206b]
or ch, cl
cmp al, 0x48
jb 0x4024c6
out dx, al
mov al, 0x64
adc al, 0xb0
jae 0x402446
test al, 0xe6
sub ebp, dword [edx + 0x43774fa6]
xor al, 0xa8
sahf
dec edi
ja 0x4024c2
xor al, 0xa8
out dx, al
sub esi, dword [eax]
int1
imul dword [edx + 0x3434c3ae]
xor al, 0xa8
cmpsb byte [esi], byte es:[edi]
ret
xor dh, byte [ebx]
xor esi, dword [ebx]
dec edx
invalid
xor al, 0x34
test al, 0xb1
xchg ebx, eax
xor esi, dword [ebx]
xor ebp, dword [eax + 0x33338fa9]
xor ebp, dword [edx + 0x437747ae]
xor al, 0xaa
cmpsb byte [esi], byte es:[edi]
inc ebx
ja 0x402504
xor al, 0xb0
jbe 0x402508
mov al, 0x76
inc ebx
ja 0x40250a
inc ebx
xor al, 0x33
mov edi, 0x9fae6c27
ja 0x402513
xor al, 0x33
xor esi, dword [ebx]
xor ecx, dword [eax + 0x24]
test al, 0x9e
ret
stosb byte es:[edi], al
scasb al, byte es:[edi]
mov edi, 0xb0343434
jbe 0x402550
xor al, 0x34
mov al, 0x76
inc ebx
ja 0x402552
xor al, 0x33
mov esi, 0xc3a6a818
xor al, 0x34
xor al, 0xa8
sahf
mov edi, 0xf8343434
loop 0x402521
test al, 0xa6
ret
invalid
mov edi, 0x33317b29
xor esi, dword [ebx]
dec edx
push eax
push ds
xor esi, dword [ebx]
jb 0x402591
lodsd eax, dword [esi]
mov dl, 0x4d
inc ebx
xor esi, dword [ebx]
xor edi, dword [eax + ebx*2]
cmp al, 0x63
jmp 0xb25690f0
mov al, 0x6d
mov ebp, 0x4db2613c
popfd
xor esi, dword [ebx]
xor esi, dword [edx + 0x5d]
jecxz 0x40250f
push ebp
xlatb
je 0x40259e
xor esi, dword [ebx]
xor esp, dword [eax + ebp*2]
cmp al, 0x54
and al, 0x64
jb 0x4025ce
adc dword [edx + 0x73], esi
mov ebx, 0x3c1545b0
pop ebx
cmp al, 0x49
cmp al, 0x60
cmp al, 0x44
jmp 0x4025f1
and al, 0x65
and al, 0x65
mov dl, 0x48
cmp esi, dword [ebx]
xor esi, dword [ebx]
mov al, 0x4d
and eax, 0x3333247b
jnp 0x4025c4
xor esi, dword [ebx]
xor esp, dword [0x3ce65bb0]
inc ebp
in eax, 0xb2
pop eax
xchg ecx, eax
xor esi, dword [ebx]
xor edi, dword [ebx*2 - 0xcda9b50]
cmp al, 0x5c
retf
mov edi, 0xe2343434
dec ebx
loope 0x4025d5
xor esi, dword [ebx]
mov al, 0x6f
daa
mov al, 0x59
adc dword [eax - 0x161332a7], esi
mov al, 0x70
mov esi, 0xfe54b0ed
in eax, dx
in al, 0x7b
jbe 0x402618
pop ecx
int 0xec
jmp 0xedfe968d
xor esi, dword [ebx]
popfd
xor esi, dword [ebx]
xor esi, dword [eax + 0x53b00953]
enter 0x5c72, 0xfffffffffffffff9
cmp al, 0x5c
cmp al, 0x44
mov al, 0x54
invalid
xor esi, dword [ebx]
xor edx, dword [esi]
sahf
xor esi, dword [ebx]
xor esi, dword [edx + 0x5d]
mov ebp, 0x443c6824
jb 0x402682
pushfd
cmp al, 0x5b
cmp al, 0x55
cmp al, 0x59
mov al, 0x4b
pop es
jb 0x40268a
or byte [ecx + ebp*2], ah
invalid
jb 0x4026d9
leave
jb 0x4026df
or byte [eax + 0x603cc548], dh
lds edi, [eax]
mov al, 0x48
add esi, dword [edx + 0x65]
cmp al, 0x60
mov dl, 0x4d
mov eax, dword [0xf0333333]
jb 0x40270f
mov cl, 0xf1
jb 0x40270d
xor byte [edx + 0x3333ae50], 0x33
jb 0x40270b
sub byte [edx + 0x60], dh
add byte [eax + 0x6b72f56c], dh
invalid
imul ebx, ebx, 0x72
pop ebx
push esp
cmp al, 0x49
jmp 0x402739
push ebp
and al, 0x64
jns 0x4026be
xor esi, dword [ebx]
xor ebp, dword [esi]
pop ebx
xor esi, dword [ebx]
pop ebx
xor esi, dword [ebx]
xor esi, dword [edx + 0x69]
lahf
cmp al, 0x59
mov al, 0x4d
add al, 0xb0
jae 0x4026eb
mov dl, 0x6d
inc ebp
xor esi, dword [ebx]
xor esi, dword [edx + 0x55]
push ebx
jb 0x40274b
cwde
cmp al, 0x48
movsd dword es:[edi], dword es:[esi]
xor esi, dword [ebx]
xor ecx, dword [esi]
push esi
xor esi, dword [ebx]
xor esi, dword [eax + 0x50b0db48]
push cs
mov al, 0x4d
std
cmp al, 0x58
pop eax
jb 0x402783
jae 0x4026d3
ret 0x603c
cmp al, 0x60
jb 0x40277d
sahf
cmp al, 0x63
mov dl, 0x48
cwde
xor esi, dword [ebx]
xor esi, dword [edx + 0x33333d70]
xor ebp, ebp
in al, 0x72
popal
and byte [0x77786524], 0x33
xor esi, dword [ebx]
jb 0x4027a5
and al, 0x65
js 0x4027a6
xor esi, dword [ebx]
xor esi, dword [edx + 0x71]
mov ebp, 0x72553ce8
mov esi, 0x3c114db0
inc ebp
and al, 0x68
and al, 0x64
call 0x3373966f
xor esi, dword [edx + 0x5b]
pop ebx
and esi, dword [edx + 0x73]
imul esp, dword [ebx + ebp*2], 0x24
imul ebp, ebx, 0xfffffff3
in al, dx
jb 0x4027b2
push edi
jb 0x4027b1
outsd dx, dword [esi]
mov al, 0x45
sbb dh, byte [edx + 0x5c]
pop ds
mov dl, 0x6d
xchg edi, eax
xor esi, dword [ebx]
xor edi, dword [ebx*2 + 0x2264b0e4]
jb 0x4027cd
notrack call 0xf2247be9
int1
cmp al, 0x55
mov dl, 0x68
lcall 0xbe2e, 0xbf333333
xor esi, dword [ebx]
xor edi, dword [edi + 0x7b30be2e]
jo 0x40272a
xor byte [ebx + 0x70], bh
mov dword [0xf313827b], eax
jnp 0x40270b
adc esi, ebx
xor ebp, ebx
xor al, 0x63
mov dl, 0x44
push 0xb0333333
imul eax, edi, 0xffffffb2
xchg edi, eax
xor esi, dword [ebx]
xor ebp, esp
cmp al, 0x45
je 0x402734
xor esi, dword [ebx]
xor esi, dword [edx + 0x5c]
jb 0x402804
stosb byte es:[edi], al
and al, 0x69
mov al, 0x69
or al, 0xf0
call 0xb28f9326
dec esp
imul ecx, dword [edi - 0x4e], 0x4c
dec edi
mov dl, 0x4c
lodsd eax, dword [esi]
xor esi, dword [ebx]
xor esi, dword [edx + 0x61]
dec ecx
js 0x40281b
xor esi, dword [ebx]
xor edi, dword [ecx + ecx*2]
in eax, 0x72
pushal
or eax, 0x24c76572
cmp al, 0x5b
pop ebx
cmp al, 0x61
mov al, 0x55
sbb esi, dword [edx + 0x70]
xor ebp, ebp
cmp al, 0x48
mov dl, 0x58
xor byte [ebx], 0x33
xor esp, dword [esi]
inc edi
xor esi, dword [ebx]
xor esi, dword [edx + 0x58]
into
jb 0x402845
sahf
mov al, 0x69
invalid
imul ebx, dword [ecx + 0x72cd6db0], 0x593c7868
mov dl, 0x65
xor esi, dword ds:[ebx]
xor esi, dword [eax + 0x44b0bc4d]
mov bh, 0x24
push 0x333778eb
xor esi, dword [ebx]
cmp al, 0x54
cmp al, 0x5b
cmp al, 0x44
mov al, 0x44
out 0xb0, eax
inc ebp
adc eax, 0x24716b72
int1
mov dl, 0x6d
dec ebx
xor esi, dword [ebx]
xor esi, dword [edx + 0x33333f68]
xor ebp, esp
jb 0x4028ac
cmp al, 0x54
push esp
jb 0x4028b1
adc dword [eax], edi
mov al, 0x6b
pop ds
cmp al, 0x61
jb 0x4028bb
sar byte [eax + ecx*2], 0xb0
insd dword es:[edi], dx
retf
add esi, dword [eax + 0x583c1250]
pop eax
test al, 0x9e
ret
pop ds
test al, 0xa6
ret