Function at 0x406fb8
Capabilities:
Encode data using xor

Disassembly:
add byte [ebx + 0x7d80fc45], cl
xlatb
add byte [ebp + eax - 0x18], dh
popal
insd dword es:[edi], dx
or eax, 0x5de58b00
pop es
push cs
push esp
inc ebx
jo 0x40702e
push edi
bound eax, qword gs:[edx + 0x72]
outsd dx, dword [esi]
ja 0x407039
jb 0x406fa1
push es
dec esi
add byte [eax - 0x1e], al
inc edi
add byte [esi], al
add eax, 0x74696e55
add byte [0x74696e55], al
xor dword [ebx], edi
add byte [eax - 0x5bffbf80], dh
add dword [eax], eax
call [eax + 0x1004b69]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
or eax, dword [eax]
pop es
push esp
popal
bound edx, qword [ebx + 0x74]
outsd dx, dword [esi]
jo 0x406fd1
add byte [eax], 0x5b
add byte [eax], al
jmp eax
outsb dx, byte [si]
sub al, 0x81
inc eax
add byte [edx], bh
add bh, bh
jp 0x407026
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0xc], al
or eax, 0x72440a00
popal
inc ebx
jne 0x4070b0
jae 0x4070af
jb 0x407086
add dword [eax], 0xff00005d
pushal
add byte [eax], al
inc byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push cs
add byte [eax], cl
inc esp
jb 0x4070c0
dec ebp
outsd dx, dword [esi]
mov al, 0x80
inc eax
add byte [edx + 0x68ff0000], bl
add byte [ebx], cl
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax + 1], al
str word [esi]
push eax
popal
jb 0x4070e8
outsb dx, byte [esi]
je 0x4070d9
push 0x6948776f
outsb dx, byte [esi]
je 0x40701a
ja 0x4070d2
imul ebp, dword [esi + 0x74], 0x481b8c
sbb ecx, dword [eax]
jl 0x407093
add bh, bh
lodsb al, byte [esi]
dec byte [edx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], al
or dword [eax + 0x6f], edx
jo 0x407121
jo 0x4070fb
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
jne 0x407062
add byte [eax], 0x99
add byte [eax], al
inc dword [eax + eax + 0x4b]
add byte [eax + eax], cl
dec ebx
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc dword [eax], eax
or byte [ebx + 0x68], dl
outsd dx, dword [esi]
ja 0x407119
imul ebp, dword [esi + 0x74], 0x40817c
add byte [ecx + 0x4b], ch
add byte [eax + 0x1004b69], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp bh, 0xff
invalid
outsb dx, byte [esi]
je 0x407151
add dword [eax], fcn.004b6900
sub byte [ecx + 0x4b], 0
imul ecx, dword [ebx], 0x4b6980
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 1], al
adc al, byte [eax]
or byte [ecx + 0x62], dl
dec edi
jb 0x407159
jb 0x407088
add dword [eax], 0xff0000e8
call 0x23f7104
call 0xe93f7100
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc eax, dword [eax]
or cl, byte [edi + 0x6e]
inc esp
jb 0x407178
inc esp
jb 0x40718a
jo 0x4070f5
add dword [eax], 0xff0000f0
lock add byte [eax], al
add byte [eax], al
push eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc al, 0
or cl, byte [edi + 0x6e]
inc esp
jb 0x40719d
dec edi
jbe 0x4071a5
jb 0x4070d2
add dword [eax], 0xff000118
sbb byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc eax, 0x6e4f0900
inc ebp
outsb dx, byte [esi]
inc esp
jb 0x4071c5
inc eax
add byte [eax], 0xc0
add dword [eax], eax
inc eax
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push ss
add byte [edi], al
dec edi
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
je 0x4071eb
jb 0x4071c8
add byte [eax], 0xc8
add al, cl
add dword [eax], eax
dec eax
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
pop ss
add byte [esi], al
dec edi
outsb dx, byte [esi]
inc ebp
js 0x407210
je 0x407209
add byte [eax], 0x10
add dword [eax], eax
call dword [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
sbb byte [eax], al
or ecx, dword [edi + 0x6e]
push ebx
je 0x407229
jb 0x40723e
inc esp
jb 0x40722e
mov al, 0x80
inc eax
add byte [eax], cl
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [edx + 1], dl
add byte [eax], al
add byte [ecx], bl
add byte [edi], al
push esi
imul esi, dword [ebx + 0x69], 0xb0656c62
jae 0x407256
bound ebp, qword [ebp - 0x50]
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [ebx + 1], dl
add byte [eax], al
add byte [edx], bl
add byte [ecx], cl
push ebx
je 0x40726f
je 0x407285
jae 0x407254
popal
jb 0x40726d
test byte [eax], al
and dl, dh
inc edi
add byte [esp + edi*8 + 0x47], dh
add byte [eax], al
add byte [eax], al
add byte [ecx + eax], dl
add byte [eax], al
sbb eax, dword [eax]
add byte [eax], al
add byte [ebx], bl
add byte [edx], cl
push ebx
je 0x407293
or dl, byte [ebx + 0x74]
popal
je 0x4072a9
jae 0x40728a
js 0x4072ad
push 0x50004084
invalid
push esp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
inc edx
popal
jb 0x40720c
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [esi + 1], dl
add byte [eax], al
add byte [0x654d0700], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb eax, 0x654d0700
outsb dx, byte [esi]
jne 0x4072bd
popal
jb 0x40722e
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [edi + 1], dl
add byte [eax], al
add byte [esi], bl
add byte [eax], al
push ds
add byte [edx], cl
inc esi
jne 0x407307
insb byte es:[edi], dx
push ebx
arpl word [edx + 0x65], si
outsb dx, byte gs:[esi]
mov al, 0x80
inc eax
add byte [eax], cl
test byte [eax], al
sub al, 0x84
add byte [esp + eax*4], ch
inc eax
add byte [eax], al
add byte [eax], al
add byte [esi], ah
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [edi], bl
add byte [edi], al
dec edi
insb byte es:[edi], dx
imul ebp, dword [esi + 0x65], 0x4080b0
or byte [eax + eax*2 + 0x40842c00], al
outsb dx, byte [esi]
mov al, 0x80
inc eax
add byte [eax], cl
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [edi], ah
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [esi], al
push ebx
imul ebp, dword [ebp + 0x6e], 0x4080b074
add byte [eax], cl
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], ch
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
add byte [ecx], dl
push edx
imul esi, dword gs:[bp + di + 0x74], 0x73417265
add byte [eax], al
add byte [eax], al
sub byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and dword [eax], eax
adc dword [edx + 0x65], edx
imul esi, dword [bp + di + 0x74], 0x73417265
jb 0x40734a
jae 0x40734d
inc edx
jb 0x40737c
ja 0x407382
jb 0x4072c2
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [ecx], ch
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [edx], ah
add byte [edx + edx*2], dl
imul esi, dword gs:[bp + di + 0x74], 0x73417265
inc esp
jb 0x4073a8
jo 0x40738f
popal
jb 0x4073a5
je 0x4072f1
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [edx], ch
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ebx], ah
add byte [ebx], cl
push esp
push 0x65746165
jb 0x4073b0
outsd dx, dword [esi]
mov al, 0x80
inc eax
add byte [eax], cl
test byte [eax], al
sub al, 0x84
inc eax
add byte [eax], al
add byte [eax], al
add byte [ebx], ch
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
and al, 0
or al, byte [ecx + 0x64]
jb 0x4073eb
jb 0x4073eb
jae 0x4073fb
inc edx
popal
jb 0x40733c
add byte [eax], 8
test byte [eax], al
sub al, 0x84
inc eax
or byte [eax + eax*2 + 0x40842c00], al
add byte [eax], al
add byte [eax], al
add byte [edx + eax], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
and eax, 0x65520900
or dword [edx + 0x65], edx
jae 0x407413
jp 0x40740d
bound ebp, qword [ebp + 0x1c]
add dword [eax], 0x68
add al, byte [eax]
jmp [eax + 2]
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
daa
add byte [eax], dl
dec edi
outsb dx, byte [esi]
push eax
jb 0x40746b
outsd dx, dword [esi]
jb 0x407464
jae 0x407474
inc ebx
push 0x65676e61
mov word [ebx + 0x2780040], es
add bh, bh
js 0x407413
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub byte [eax], al
adc al, 0x4f
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
push ebx
je 0x40748f
je 0x407495
inc ebx
push 0x65676e61
inc eax
add byte [eax], 0x80
add al, byte [eax]
inc dword [eax + 0x1ff0002]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
sub dword [eax], eax
cmovg ebp, dword [esi + 0x44]
outsd dx, dword [esi]
ja 0x4074c5
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
inc edx
imul ebp, dword gs:[bp + 0x40], 0x88004082
add al, byte [eax]
dec dword [eax + 0x1ff0002]
mov byte [edx], al
add bh, bh
mov byte [edx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
sub al, byte [eax]
adc cl, byte [edi + 0x6e]
inc esp
outsd dx, dword [esi]
ja 0x4074ef
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4074f6
je 0x4074f2
sbb al, 0x83
inc eax
add byte [eax - 0x6f00fffe], dl
nop
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
sub eax, dword [eax]
or eax, 0x69546e4f
je 0x40751a
inc ebx
push 0x65676e61
sbb al, 0x83
inc eax
add byte [eax - 0x6700fffe], bl
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub al, 0
adc byte [edi + 0x6e], cl
push eax
jb 0x407544
jo 0x40753c
jb 0x40754d
jns 0x40751e
push 0x65676e61
jl 0x407466
inc eax
add byte [eax - 0x5f00fffe], ah
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
sub eax, 0x6e4f1100
inc edx
outsw dx, word gs:[esi]
jb 0x407568
dec esi
popal
jbe 0x407570
popal
je 0x407570
xor bl, byte [eax*4 + 0x2a80040]
add bh, bh
test al, 2
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte cs:[edi + ecx*2], cl
outsb dx, byte [esi]
dec esi
ja 0x407584
imul ebp, dword [esi + 0x64], 0x6432776f
test dword [eax], eax
mov al, 2
add bh, bh
mov al, 2
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
das
add byte [ebx], dl
dec edi
outsb dx, byte [esi]
adc ecx, dword [edi + 0x6e]
dec esi
popal
jbe 0x4075bd
popal
je 0x4075bd
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4075c9
je 0x4075c5
xor ah, byte [ebp + eax*4 + 0x40]
add byte [eax - 0x4700fffe], bh
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
xor byte [eax], al
adc cl, byte [edi + 0x6e]
inc esp
outsd dx, dword [esi]
arpl word [ebp + 0x6d], si
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x4075ca
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4075f7
je 0x4075f3
inc eax
add byte [eax], 0xc0
add al, byte [eax]
inc eax
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor dword [eax], eax
push es
dec edi
outsb dx, byte [esi]
push ecx
jne 0x407617
je 0x407554
test dword [eax], eax
enter 2, 0xffffffffffffffff
enter 2, 0xffffffffffffffff
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
xor al, byte [eax]
or dword [edi + 0x6e], ecx
dec edi
outsb dx, byte [esi]
push esi
imul esi, dword [ebx + 0x69], 0xa4656c62
test dword [eax], eax
rol byte [edx], 1
add bh, bh
rol byte [edx], 1
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
xor eax, dword [eax]
or dword [edi + 0x6e], ecx
push esp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
inc edx
popal
jb 0x40759c
movsb byte es:[edi], byte [esi]
test dword [eax], eax
fadd dword [edx]
add bh, bh
fadd dword [edx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 0
or dword [edi + 0x6e], ecx
dec ebp
outsb dx, byte gs:[esi]
jne 0x40765b
popal
jb 0x4075c0
test dword [eax], eax
loopne 0x407623
add bh, bh
loopne 0x407627
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor eax, 0x6e4f0b00
push ebx
je 0x40769c
je 0x4076b2
jae 0x407681
popal
jb 0x4075e6
test dword [eax], eax
call 0xe93f764c
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte ss:[edi + ecx*2], cl
or al, 0x4f
outsb dx, byte [esi]
inc esi
jne 0x4076cd
insb byte es:[edi], dx
push ebx
arpl word [edx + 0x65], si
outsb dx, byte gs:[esi]
movsb byte es:[edi], byte [esi]
test dword [eax], eax
lock add al, byte [eax]
push eax
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
aaa
add byte [0x68546e4f], cl
popal
je 0x4076f0
jb 0x4076da
outsd dx, dword [esi]
movsb byte es:[edi], byte gs:[esi]
test dword [eax], eax
clc
add al, byte [eax]
invalid
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp byte [eax], al
adc al, 0x4f
outsb dx, byte [esi]
push edi
imul ebp, dword [esi + 0x64], 0x6553776f
je 0x407709
ja 0x407707
je 0x407709
jae 0x407723
jp 0x40771d
bound ebp, qword [ebp - 0x24]
test dword [eax], eax
add byte [ebx], al
add bh, bh
add byte [ebx], al
add bh, bh
add dword [eax], eax
inc dword [eax]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
cmovg ebp, dword [esi + 0x57]
dec edi
outsb dx, byte [esi]
push edi
imul ebp, dword [esi + 0x64], 0x6553776f
je 0x407732
je 0x4076c6
test dword [eax], eax
or byte [ebx], al
add bh, bh
or byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec dword [eax]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
cmp al, byte [eax]
push cs
dec edi
outsb dx, byte [esi]
push edi
imul ebp, dword [esi + 0x64], 0x6553776f
je 0x407764
outsd dx, dword fs:[esi]
ja 0x407760
je 0x407764
outsd dx, dword [esi]
jo 0x4076ef
test dword [eax], eax
adc byte [ebx], al
add bh, bh
adc byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
cmp eax, dword [eax]
adc byte [edi + 0x6e], cl
push edi
imul ebp, dword [esi + 0x64], 0x6553776f
je 0x407790
outsd dx, dword fs:[esi]
ja 0x407789
je 0x407790
imul esp, dword [esp + esi*2 + 0x68], 0x4085dc
sbb byte [ebx], al
add bh, bh
sbb byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp al, 0
adc dword [edi + 0x6e], ecx
push edi
imul ebp, dword [esi + 0x64], 0x6553776f
je 0x4077ac
push ebx
je 0x4077ac
imul esp, dword gs:[edi + 0x68], 0x40860874
add byte [eax], ah
add eax, dword [eax]
jmp dword [eax]
outsd dx, dword fs:[esi]
ja 0x4077d0
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x4077fa
imul ebp, dword [esi + 0x67], 0x40865c
outsb dx, byte [esi]
pop esp
xchg byte [eax], al
sub byte [ebx], al
add bh, bh
sub byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte ds:[edi + ecx*2], dl
add byte [edi + ecx*2], dl
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x486f5474
outsd dx, dword [esi]
jae 0x407830
push edi
imul ebp, dword [esi + 0x64], 0x85dc776f
inc eax
add byte [eax], dh
add eax, dword [eax]
push dword [eax]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
aas
add byte [ebx], dl
dec edi
outsb dx, byte [esi]
push ebx
je 0x407836
arpl word gs:[ebp + 0x72], si
dec esp
outsd dx, dword [esi]
arpl word [ebx + 0x49], bp
arpl word [edi + 0x6e], bp
rol byte [ebx + 0x3380040], 1
add bh, bh
cmp byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [esi], cl
dec edi
outsb dx, byte [esi]
inc esi
imul ebp, dword [ebp + 0x44], 0x6c6e776f
outsd dx, dword [esi]
popal
nop
xchg byte [eax], al
inc eax
add eax, dword [eax]
inc dword [eax + 3]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
add byte [edi], cl
dec edi
outsb dx, byte [esi]
add byte [ecx], al
cmovg ebp, dword [esi + 0x4e]
dec esi
popal
jbe 0x4078a3
popal
je 0x4078a3
inc ebp
jb 0x4078b3
outsd dx, dword [esi]
jb 0x40784c
xchg dword [eax], eax
dec eax
add eax, dword [eax]
dec dword [eax + 3]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
inc edx
add byte [edi + ecx*2], bl
outsb dx, byte [esi]
push eax
jb 0x4078cc
outsb dx, byte [esi]
je 0x4078ba
insd dword es:[edi], dx
jo 0x4078d6
popal
je 0x4078d2
dec ecx
outsb dx, byte [esi]
jae 0x4078e5
popal
outsb dx, byte [esi]
je 0x4078de
popal
je 0x4078e1
outsd dx, dword [esi]
outsb dx, byte [esi]
or byte [edi + 0x3500040], al
add bh, bh
push eax
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push eax
add eax, dword [eax]
call dword [eax + 3]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebx
add byte [edi], dl
dec edi
outsb dx, byte [esi]
push eax
jb 0x407903
outsb dx, byte [esi]
je 0x4078f1
insd dword es:[edi], dx
jo 0x40790d
popal
je 0x407909
push esp
push esp
popal
jb 0x40790d
outsd dx, dword [esi]
ja 0x40791a
cmp al, 0x87
inc eax
add byte [eax + 3], bl
add bh, bh
pop eax
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
call [eax + 3]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc esp
add byte [edx], dl
dec edi
outsb dx, byte [esi]
push ebp
jo 0x407930
popal
je 0x407934
push eax
popal
push ebx
push ebx
je 0x407937
je 0x40794d
jae 0x40787e
test dword [eax], eax
pushal
add eax, dword [eax]
jmp dword [eax + 3]
pushal
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebp
add byte [edi + ecx*2], bl
outsb dx, byte [esi]
push eax
jb 0x407962
jbe 0x40795c
arpl word [ecx + 0x49], di
insd dword es:[edi], dx
jo 0x407962
arpl word [ebp + 0x64], si
push ebx
push ebx
je 0x407969
je 0x40796f
inc ebx
inc ebx
push 0x65676e61
push ebp
outsb dx, byte [esi]
push ebp
mov ebp, esp
add esp, 0xffffffd0
call fcn.004ddd19
mov byte [ebp - 0x29], dl
mov dword [ebp - 0x28], eax
mov eax, 0x4e0a70
add byte [eax + 0x4589d755], cl
fdivr dword [eax + 0x4e0a70]
call fcn.004d29cc
cmp byte [ebp - 0x29], 0
jl 0x40795e
sub eax, 0x8bf84dff
push ebp
fadd dword [ecx + 0x368c2]
add byte [ecx + 0x4dffd055], cl
dec dword [ebp - 8]
mov edx, dword [ebp - 0x28]
add edx, 0x368
mov dword [ebp - 0x30], edx
dec dword [ebp - 8]
clc
push 0
push dword [ebp - 0x30]
call fcn.00409248
add esp, 8
sub dword [ebp - 8], 0x12
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0047e6e8
pop es
add byte [ebx - 0x769b23b3], cl
or eax, 0
mov ecx, dword [ebp - 0x24]
mov dword fs:[0], ecx
mov dword [0], ecx
cmp byte [ebp - 0x29], 0
jle 0x407976
jge 0x407942
add byte [esi + 8], bh
mov eax, dword [ebp - 0x28]
call fcn.004ddd0c
inc ebp
fsubr st(0)
xchg esi, eax
arpl word [0x5de58b00], cx
mov esp, ebp
pop ebp
ret