Function at 0x423e87
Capabilities:
Parse pe header

Disassembly:
inc edx
imul eax, dword [eax], 0x71
cmp byte [eax + 0x50], dl
jbe 0x423f00
jne 0x423f07
add byte [esp + esi*2 + 0x6d], al
inc ebx
insb byte es:[edi], dx
cmp dword [edi + 0x72], ecx
add byte [edx + 0x35], bl
outsb dx, byte ss:[esi]
dec eax
xor bl, byte [edx + 0x74]
add byte [ebp + 0x48], cl
push esp
outsb dx, byte [esi]
arpl word [ecx + edi*2 + 0x50], cx
add byte [edx + edi*2 + 0x65], ch
inc sp
jns 0x423ef7
add byte [ebx + 0x76], ah
je 0x423f14
sub ecx, dword ss:[edi]
xor eax, 0x43636347
das
insb byte es:[edi], dx
add byte [ebx], dh
xor ebp, dword [ebx]
pop ecx
dec eax
inc edi
push edi
dec eax
add byte [ecx], dh
inc esi
je 0x423f1e
push ecx
pop ecx
inc edx
add byte [eax], dh
push 0x794e376c
xor byte [esi], dl
inc edi
push 0x4b5a5153
jbe 0x423f30
add byte [edx + 0x37], bh
bound esi, qword ss:[edx + 0x6e]
sub ebp, dword [edi]
push ecx
xor eax, 0x52766c61
inc edx
outsd dx, dword [esi]
add byte [edi + 0x53], dh
push ebx
xor al, 0x48
popal
dec ebp
pop edx
imul eax, dword [eax], 0x6261496b
jp 0x423f88
invalid
add byte [ebx + 0x49], ch
popal
bound edi, qword [edx + 0x7a]
invalid
arpl word [edx], di
dec eax
ja 0x423f4c
pop eax
xor ebx, dword [eax + 0x4c]
add byte [edi], dh
push esi
jb 0x423f93
das
jns 0x423f77
insd dword es:[edi], dx
add byte [ecx + 0x68], ah
das
push ebp
xor ch, byte [edi + ecx*2]
sub edx, dword [edx + 0x6d]
push esp
imul esp, dword [ecx + 0x49], 0x58
add byte [ebx + 0x6c], dl
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edx
push esi
dec ecx
pop edx
add byte [ebp + 0x7a], ah
arpl word [esi + eax*2 + 0x52], si
outsd dx, dword [esi]
inc ebp
add byte [ebx + 0x52], dh
push esi
jno 0x423fc3
jb 0x423fbb
outsd dx, dword [esi]
add byte [edi], dh
inc esi
jo 0x423fc2
push ebx
dec ebx
push esp
add byte [ebp + 0x36], dl
je 0x423fcb
outsb dx, byte [esi]
jne 0x423fba
jne 0x423f62
jo 0x423f96
js 0x423fad
pop ecx
jo 0x423fac
inc edi
add byte [ebp + 0x38], ch
cmp byte [ebx], dh
inc edx
push 0x35
sub eax, dword [eax]
xor al, 0x56
xor al, 0x44
inc esp
xor ebx, dword [edx + 0x71]
jo 0x423fbd
imul ecx, dword [ebp + 0x35], 0xcc355945
aas
xor byte [eax], al
jo 0x423fe3
pop edx
jo 0x423ff2
push esi
push esp
popal
dec esp
add byte [edi + 0x32], ch
push edi
jns 0x423fe3
arpl word [esi + 0x44], cx
dec esi
inc esp
out 0x45, al
jg 0x423fd7
loop 0x424014
xor al, 0x2c
mov al, byte [0xfe76ff68]
jbe 0x423fb3
xor byte [ebx], dh
push dword [esi - 0xe]
jbe 0x424025
ja 0x424027
js 0x423fe2
xor cl, byte [eax + eax + 0x6e]
dec esp
add byte [esi + 0x65], ch
jb 0x423ff8
jb 0x423ff8
das
cmp byte [ecx + 0x73], ah
add byte [edi + 0x68], dl
push edi
push 0x62464164
inc ecx
inc ecx
inc esi
bound eax, qword [ecx + 0x75]
jne 0x423fc4
add byte [ecx + 0x35], dh
jno 0x423ffb
jbe 0x424042
jae 0x424030
jp 0x424032
add byte [eax + 0x59], bh
add byte [eax + 0x59], bh
inc edi
imul edi, dword [eax], 0x77594b
pop edx
jae 0x42404b
outsb dx, byte [esi]
dec ebx
insb byte es:[edi], dx
dec esp
arpl word [eax], ax
push esp
xor eax, dword [ecx + 0x59]
inc ecx
pop ecx
dec esi
pop ecx
jns 0x423fe8
dec edi
xor dword [eax + 0x34], edi
outsb dx, byte [esi]
cmp byte [edx + 0x62], bh
add byte [edx + 0x46], ch
inc esi
push ebx
push ecx
insd dword es:[edi], dx
push esp
sub ebp, dword [ebx]
add byte [ebp + 0x64], ch
sub esp, dword [edx + 0x76]
sub eax, dword [eax]
insd dword es:[edi], dx
sub esp, dword fs:[edx + 0x76]
xor al, 0x53
js 0x424003
dec esi
jp 0x424036
dec ebx
imul esi, dword [edx], 0x33
inc edx
add byte [edi + 0x42], al
dec ebx
push esi
arpl word [edx + 0x7a], cx
add byte [edi + 0x48], dh
aaa
inc ebp
dec esp
inc ebp
pop eax
add byte [ecx + 0x42], dl
push edi
ja 0x42406f
jno 0x42409a
invalid
xor eax, 0x5dff516a
cmp dh, byte [ecx]
jg 0x424052
jg 0x423fcb
add edi, dword [edi - 0x67]
ja 0x423fd0
cdq
inc ecx
jne 0x424080
cmp dword [ecx], esi
cmp dword [eax], eax
outsd dx, dword [esi]
dec edi
push 0x65
inc ebp
imul esi, dword [ecx + 0x38], 0x6d367000
outsd dx, dword [esi]
xor ch, byte [edi + 0x31]
dec esp
add byte [esi + 0x6e], cl
inc edx
xor dh, byte [eax + edi]
jbe 0x4240c5
add byte [eax], bh
dec esi
ja 0x4240c3
dec edx
insb byte es:[edi], dx
push eax
dec edi
add byte [eax], dh
imul esi, dword [ecx + edx*2], 0x31
jp 0x4240cc
add byte [esi + 0x41], cl
outsd dx, dword [esi]
pop ecx
cmp dword [ebx], ebp
xor byte [esi], dl
push esi
push ebp
dec esi
jp 0x4240cd
inc ebx
dec edi
push edx
add byte [eax + 0x2f], dl
inc esi
dec esi
push edx
push dx
cmp byte [eax + 0x39], al
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
push edx
jno 0x42408d
test dword [edx], eax
outsb dx, byte [esi]
dec esi
dec esp
push edx
jae 0x424102
jno 0x42410f
add byte [ecx + 0x72], cl
popal
jb 0x4240fd
cmp dword [ebx + 0x65], esp
sub edx, dword [esi]
dec ebx
dec ebx
jne 0x4240e9
jo 0x42411a
dec esi
add byte [ecx + 0x4e], dh
push ebx
xor byte [ebp + 0x67], cl
pop edx
xor eax, 0x354b4900
xor al, 0x62
dec ebx
popal
dec esi
add byte [edx + 0x31], al
das
aaa
dec esi
dec esp
xor eax, 0x62480073
add byte [eax + 0x62], cl
dec esp
push edx
dec esi
dec ebx
jne 0x42411e
push eax
add byte [esi + 0x74], cl
inc esi
push esi
push esi
inc esp
arpl word [eax], si
add byte [edi + 0x6a], dh
imul edx, dword [edx + 0x36], 0x41
push 0x45
add byte [ebx + 0x43], dl
push edi
jne 0x424136
arpl word [edx + 0x6e], sp
add byte [esi + 0x4f], ah
inc esp
cmp dword [edi + 0x50], ebp
jne 0x424166
add byte [ebx + 0x38], dh
pop edx
push ecx
jae 0x424140
jno 0x42412d
adc byte [esi + 0x58], dh
pop eax
dec eax
jbe 0x424161
jae 0x424175
jb 0x42416b
xor al, byte [bx + si]
xor al, byte [eax]
xor al, byte [edi + 0x6e]
bound ebp, qword [ebx]
xor dword [ecx], esi
inc edx
add byte [eax + 0x6c], ch
inc edi
push 0x61
push 0x616a476c
sub ecx, dword [edx + 0x77]
add byte [ebx], dh
inc edx
cmp byte [ebp + 0x55], ch
push ebp
jb 0x424157
cmp byte [eax + eax + 0x54], dl
xor ah, byte [edx + 0x42]
push esp
add byte [edx + esi + 0x62], dl
inc edx
xor bh, byte [ecx + 0x30]
push esp
add byte [ebx + 0x72], dl
push 0x6a
push eax
push 0x50
inc edi
push ebx
push ebp
add byte [ecx + 0x67], dl
push esi
popal
push esi
inc edi
arpl word [ecx], bx
jae 0x4241a3
xor dword [edx + 0x64], eax
inc ebp
inc ebp
jns 0x424199
add byte [ebx + 0x6b], cl
imul esi, dword [ebx], 0x62
je 0x4241ae
add byte [edi + esi + 0x72], al
bound edx, qword [eax + 0x47]
push ebp
dec esp
add byte [edx + 0x71], cl
dec edx
jno 0x4241c9
outsd dx, dword [esi]
popal
inc esi
push 0x5200502b
push eax
xor dword [edi + 0x41], ecx
dec edi
imul ecx, dword [ecx + 4], 0x33
in eax, dx
in eax, dx
pop ds
dec ebx
das
inc ebp
xor byte [ecx], bh
add byte [esi + 0x73], ch
inc edx
outsd dx, dword [esi]
jae 0x4241d3
pop eax
jp 0x42415c
sub esi, dword [eax]
cmp byte [eax + 0x67], bh
jg 0x42411c
loope 0x424159
jg 0x4241c2
pop es
jg 0x4241c5
jg 0x4241c7
clc
aam 0x74
dec bx
pop edx
xor dword [eax], eax
xor dword [bp + si + 0x69], esp
push ebx
dec eax
pop ecx
jns 0x42419d
aaa
dec ebp
push esp
outsd dx, dword [esi]
bound ebp, qword [ebx + 0x66]
push esp
push sp
add byte [edi], ch
dec ebx
jne 0x4241db
jns 0x4241df
bound edx, qword [ebp]
imul ebp, dword [edx + 0x74], 0x7377642f
add byte [ecx + 0x6a], ch
je 0x4241e2
ja 0x424229
inc edx
add byte [esi + 0x79], ah
dec esp
inc edx
ja 0x42422e
push eax
add byte gs:[edx + 0x36], dl
jno 0x424213
jno 0x424213
push esp
sub edx, dword [ebp + edx*2]
imul esp, dword [esi + 0x4b], 0x44
push esp
push ebp
add byte [ebx + 0x66], ch
dec ebx
inc esp
pop ecx
dec esp
push ecx
xor byte [eax], al
xor al, 0x78
push edx
outsb dx, byte [esi]
sub esi, dword [ebx]
push ebp
pop ecx
add byte [edx + 0x54], al
xor al, 0x35
js 0x424246
xor eax, 0x6b416478
add byte [edx], dh
inc ecx
imul eax, dword [eax], 0x32
xor al, 0x5a
jno 0x424257
push esi
xor al, 0x59
add byte [esi], dh
inc edi
insb byte es:[edi], dx
push ecx
pop ecx
das
push ebx
add byte [bx + si + 0x51], bh
push 0x57
dec esi
insd dword es:[edi], dx
jp 0x424244
add byte [esi], dh
inc edi
xor eax, 0x6e343048
jb 0x424209
dec edx
dec esp
jno 0x424240
xor dword [esi + 0x77], esp
je 0x424212
inc ebx
dec ecx
inc ebp
dec esi
dec ebp
inc edx
xor al, 0x6e
add byte [esi + 0x39], cl
push esp
imul ecx, dword [ebx + 0x47], 0x44
jno 0x424224
dec esp
push ebp
je 0x424293
xor dword [edx + 0x48], ecx
dec edx
dec eax
jns 0x42422d
xor al, byte [bp + di + 0x30]
xor al, byte [ebx + 0x30]
dec esi
dec edx
dec edx
insb byte es:[edi], dx
add byte [eax + 0x76], dh
outsd dx, dword [esi]
inc esp
inc esp
outsb dx, byte [esi]
dec esp
dec ecx
add byte [eax + 0x2f], bl
das
push ebx
js 0x42428d
push ebx
xor dl, byte [ecx]
dec eax
push edi
push ecx
add byte [eax + 0x57], cl
cmp dword [0x74684557], esi
add byte [eax], dh
inc edi
push eax
xor byte [edi + 0x4d], ch
push ebp
dec ecx
add byte [ecx], dh
push 0x4d
je 0x4242d3
push ebx
insb byte es:[edi], dx
jbe 0x424263
dec ebp
arpl word [edi + 0x4c], dx
pop eax
pop edx
dec ebx
dec esp
add byte [ecx], dh
je 0x4242b0
dec ebx
dec edi
xor edi, dword [ecx]
xor eax, dword [eax]
dec ebx
outsb dx, byte [esi]
inc ebx
sub ecx, dword [ecx + 0x37]
push bp
add byte [0x36676843], dh
imul esi, dword [ecx], 0x61520062
push esi
push ecx
cmp byte [edi], ch
push esi
xor al, byte [eax]
ja 0x4242ca
dec esp
inc ebp
push esi
dec ebp
das
add byte [ecx], bh
push edx
inc esi
push eax
outsb dx, byte [esi]
imul esi, dword [eax], 0x57534500
je 0x424312
inc edx
xor dword [esi], esi
push esi
push 0x45505749
push eax
inc ebp
push ebx
add byte [esi + 0x61], cl
inc edi
jp 0x424301
jno 0x424303
inc ecx
inc eax
push ebx
xor al, 0x52
dec ecx
popal
jae 0x4242c0
vmwrite eax, dword [eax]
jo 0x424340
jbe 0x424334
imul ecx, dword [edi + 0x32], 0x55005370
jo 0x424319
dec edi
xor dh, byte [eax + 0x53]
add byte [ebp + 0x70], dl
inc esi
je 0x42434d
jb 0x424338
cmp byte [esi + 0x3f1dbf57], bl
mov byte [eax], dh
mov byte [eax - 0x40c8cae3], dh
dec esp
cld
inc esp
cmp bh, byte [edi]
mov byte [edi], bh
mov byte [eax], bh
mov byte [edi - 0x4077c0b4], bh
dec esp
add byte [edx], bh
popal
inc ebx
pop ecx
push esp
pop edx
ja 0x424353
add byte [edx + 0x4e], ch
jns 0x42436f
xor al, 0x36
insd dword es:[edi], dx
inc edi
add byte [edi + 0x31], ah
push eax
push 0x58495449
add byte [edi + 0x42], ch
inc edx
dec edi
xor ebp, dword [edi + 0x4d]
dec eax
xor al, byte [eax]
ja 0x424372
add byte [edi + 0x56], dh
ja 0x424386
push ecx
push 0x6f
dec eax
add byte [ecx + 0x38], cl
sub ebp, dword [edx + 0x6b]
dec ecx
cmp byte [ebx], ch
push 0x6b
push edi
popal
insd dword es:[edi], dx
add byte [ecx + 0x6a], ah
dec ebx
pop eax
jo 0x424386
add byte [edi + 0x49], ch
outsb dx, byte [esi]
cmp dword [eax], edi
inc esi
xor al, byte [bx + si]
push 0x49
dec edi
push 0x52
push edx
imul eax, dword [ebx], 0x714a6f4f
je 0x4243b0
outsb dx, byte [esi]
add byte [bp + di], ch
xor dword gs:[ecx + 0x62], esi
jno 0x4243b7
dec esp
insb byte es:[edi], dx
sub ecx, dword [eax]
jb 0x4243b1
push 0x63713590
js 0x4243c3
add byte [ebp + 0x4a], cl
dec esi
push esp
xor al, 0x53
add byte [ebp + 0x79], al
inc esi
inc ecx
push edi
xor dword [edi + edx*8 - 0x41], esi
dec esp
jg 0x424312
aas
adc dword [edi + edi*2], esi
cdq
xor byte [edi - 0x67], bh
jg 0x42431c
aaa
call [ebp + 0x7f]
cdq
jg 0x424321
jg 0x424323
inc edx
jmp [esi]
jmp [esi]
dec esi
jmp [esi]
push esp
invalid
jmp cs:[esi]