Function at 0x49e8d8
Capabilities:
Packed with generic packer

Disassembly:
sub byte [eax], al
push 0x8004bd7
dec ebp
outsd dx, dword [esi]
jbe 0x49e948
dec esi
js 0x49e95b
add eax, dword [eax]
add byte [eax], dl
inc eax
add byte [eax], cl
add byte [ecx], al
or byte [eax], al
jmp 0x49e940
jb 0x49e9ac
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x49e952
add byte [ecx], al
add byte [edx], al
pushal
jmp 0x4be9a5
add byte [edx], al
add byte [eax], al
add al, dl
out 0x49, eax
add byte [eax], al
add byte [eax], al
inc byte [eax]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4307ffff], al
jne 0x49e9f0
jb 0x49e9e5
outsb dx, byte [esi]
je 0x49e983
add ah, bl
jmp 0x49e9d3
cld
push ss
inc eax
add al, bl
jge 0x49e9f3
add al, ah
jge 0x49e9f7
add byte [ecx + eax*4], dl
inc eax
add byte [ecx + eax*4], cl
inc eax
add byte [ecx + eax*4], ch
inc eax
add byte [eax], dh
add dword [eax], 0x408134
sub byte [ecx + 0x7b540040], al
inc eax
add byte [eax + 0x7b], dh
inc eax
add byte [eax + 0x50004bd6], cl
jbe 0x49ea1f
add byte [esi + edx*8 + 0x4b], dh
add eax, dword [eax]
sub dl, ch
dec ecx
add byte [ebp], cl
invalid
add byte [ebx], al
add byte [eax], ch
ljmp 0xffff
dec edi
ljmp 0xfff4
add byte [edx], al
hlt
invalid
dec ecx
outsb dx, byte [esi]
je 0x49ea66
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ea9b
daa
add byte [eax + 0x7004bd6], cl
inc esp
jae 0x49eaa7
jb 0x49eaa4
jns 0x49ea3a
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x49ea], dh
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
mov al, 0xea
dec ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
sub eax, 0x4bd6ac00
add byte [0x45746547], cl
outsb dx, byte [esi]
jne 0x49eaca
jb 0x49eac1
je 0x49ead1
jb 0x49ea67
add byte [eax], al
jmp 0x51eab4
dec ecx
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x49ea], dh
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
xor al, byte [eax]
mov ah, 0xd6
dec ebx
add byte [edi], al
push esp
outsd dx, dword [esi]
inc ecx
jb 0x49eafa
popal
jns 0x49ea8e
add byte [eax], al
call 0x51eadb
add cl, byte [eax]
mov al, 0xea
dec ecx
add byte [eax], al
dec ecx
add byte [eax], cl
add byte [edx], al
or byte [eax + 0x49ea], dh
add byte [ebx + edx*2], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
inc eax
add al, ch
dec ecx
add byte [ecx], al
add byte [ecx], al
add dword [edx], eax
add byte [edx], al
add byte [eax], al
add byte [edx + ebp*8 + 0x25070049], dh
push esp
inc ebp
outsb dx, byte [esi]
jne 0x49eb28
jb 0x49eb1f
bound ebp, qword [ebp + 0x3c]
push ebx
cmp al, 0x53
jns 0x49eb38
je 0x49eb2c
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49eb41
jae 0x49eaff
push esp
dec ecx
outsb dx, byte [esi]
je 0x49eb19
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49eb4e
fsub st(1), st(0)
dec ecx
add byte [edi + ebx + 0x40], dh
add byte [eax], al
add byte [ebx], bl
push ebx
jns 0x49eb5c
je 0x49eb50
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x49eb5c
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x49eb02
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc bl, ch
dec ecx
add byte [ecx], dl
sub byte [esp + ecx*2 + 0x69], dl
jae 0x49eb8b
cmp al, 0x53
jns 0x49eb8e
je 0x49eb82
insd dword es:[edi], dx
inc ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49eb97
jae 0x49eb55
push esp
dec ecx
outsb dx, byte [esi]
je 0x49eb6f
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49eba4
popal
jb 0x49eba7
popal
jns 0x49eba7
outsd dx, dword [esi]
push sp
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
invalid
je 0x49ebb5
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x49ebc1
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x49eb37
out 0x49, eax
add byte [edx], al
add byte [eax - 0x15], dh
dec ecx
add byte [edi], cl
and ecx, dword [ecx + 0x43]
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x49ebd9
jb 0x49ebdf
jb 0x49ebb8
push ebx
jns 0x49ebf2
je 0x49ebe6
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49ebfb
jae 0x49ebb9
push esp
dec ecx
outsb dx, byte [esi]
je 0x49ebd3
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ec08
pushfd
inc eax
inc 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
sbb byte [ebx + 0x79], dl
jae 0x49ec23
add byte [eax], al
add byte [eax], bl
push ebx
jns 0x49ec21
je 0x49ec15
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x49ec21
arpl word [ebx + 0x2e], si
jae 0x49ebe9
inc esp
popaw
jne 0x49ec2d
je 0x49ec36
add dword [eax], eax
invalid
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
je 0x49ec44
outsd dx, dword [esi]
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
je 0x49ec4a
jns 0x49ec29
jbe 0x49ec4b
outsb dx, byte [esi]
je 0x49ec25
push ebx
jns 0x49ec5f
je 0x49ec53
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49ec68
jae 0x49ec26
push esp
dec ecx
outsb dx, byte [esi]
je 0x49ec40
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ec75
add byte ds:[ebx], al
or byte [esi], al
push ebx
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
jb 0x49ec14
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [edx + ecx + 4], si
dec ecx
or al, byte [ecx + ecx*2]
add al, 0x49
je 0x49ec7e
insd dword es:[edi], dx
or dword [ecx + ecx*2 + 0x6e], edx
je 0x49ec63
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ec98
je 0x49ec25
add byte [esi], al
push es
inc ecx
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
pop ss
imul ebp, dword [edi + 0x6e], 0x6f435417
push esp
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsd dx, dword [esi]
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
je 0x49eca5
imul sp, word [ebx + 0x61], 0x6974
je 0x49ecab
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [edi + ebx + 0x40], dh
add al, dl
out 0x49, eax
dec ecx
add al, ah
push 0xec570043
dec ecx
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
or byte [edi + ebx + 0x40], dh
je 0x49ec80
inc eax
add byte [esi], al
push es
push ebx
outsb dx, byte gs:[esi]
jb 0x49ec6d
jb 0x49ec6d
add byte [edx], cl
shl bh, 1
dec ecx
add byte [ecx + ecx*2], al
je 0x49ecda
insd dword es:[edi], dx
add al, byte [eax]
add al, ah
push 0x41060043
inc ecx
arpl word [ecx + ebp*2 + 0x6f], si
je 0x49eceb
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
add byte [eax], al
mov esp, gs
dec ecx
add byte [edi], cl
and eax, 0x756e4549
insd dword es:[edi], dx
jb 0x49ecf7
bound ebp, qword [ebp + 0x3c]
push ebx
cmp al, 0x53
jns 0x49ed10
je 0x49ed04
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49ed19
jae 0x49ed0c
jae 0x49ecd7
jae 0x49ecd7
push esp
dec ecx
outsb dx, byte [esi]
je 0x49ecf1
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ed26
shl byte ds:[esi], 1
inc 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
push es
push ebx
jns 0x49ed3f
je 0x49ed33
insd dword es:[edi], dx
add dword [eax], eax
invalid
add ah, bl
in al, dx
dec ecx
add byte [edi], cl
sub dl, byte [esp + ecx*2 + 0x69]
jae 0x49ed57
cmp al, 0x53
jns 0x49ed5a
je 0x49ed4e
insd dword es:[edi], dx
inc ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49ed63
jae 0x49ed21
jae 0x49ed21
push esp
dec ecx
outsb dx, byte [esi]
je 0x49ed3b
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ed70
push esp
inc ebp
insd dword es:[edi], dx
jo 0x49ed77
jns 0x49ed4b
inc esi
jne 0x49ed75
arpl word [esi + 0x400040], bx
add byte [eax], al
inc 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 [ebx], bl
push ebx
jns 0x49ed94
add byte [eax], al
add byte [eax], al
sbb edx, dword [ebx + 0x79]
jae 0x49ed96
je 0x49ed88
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x49ed94
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x49ed3b
add bh, bh
inc dword [edx]
add byte [eax], al
invalid
add byte [eax + 0x49ed], bl
cwde
in eax, dx
dec ecx
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 - 0x12], dh
add byte [eax], al
jo 0x49ed40
dec ecx
add byte [eax - 0x34ffb613], ah
add bl, cl
in eax, dx
dec ecx
add byte [eax], al
add byte [eax], al
add cl, ah
in eax, dx
dec ecx
add byte [eax], dl
add byte [eax], al
add byte [eax + ebp*8 + 0x49], al
add al, bl
jge 0x49edaf
add al, ah
jge 0x49edb3
loopne 0x49edef
inc eax
add byte [ecx + eax*4], dl
inc eax
add dword [eax], fcn.0040810c
sub al, 0x81
add byte [ecx + eax*4], cl
inc eax
add byte [ecx + eax*4], ch
inc eax
add byte [eax], dh
add dword [eax], 0x408134
sub byte [ecx + 0x7b540040], al
inc eax
add byte [eax + 0x7b], dh
inc eax
add al, ch
jl 0x49edd7
call 0xa44a2e15
loopne 0x49ede6
inc eax
add byte [eax - 0x1f53ffb5], ah
dec ebx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
mov ah, 0xfa
dec ecx
add byte [eax + eax], al
add byte [eax + 0x4b], ch
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [edx + edi*8 + 0x40049], dh
add byte [eax], al
add eax, 0x73694c46
je 0x49edba
dec esp
imul esi, dword [ebx + 0x74], 0x9c000002
add byte [eax], al
pushfd
adc byte [eax], al
or byte [eax], al
add byte [eax], al
push es
inc esi
dec ecx
outsb dx, byte [esi]
js 0x49edcc
add byte [eax], al
add byte [edx], al
add byte [0x440049ee], cl
add ah, dh
inc dword [edx - 0x12]
inc edx
out dx, al
dec ecx
add byte [edx], al
hlt
je 0x49ee24
push ebx
jns 0x49ee5e
je 0x49ee52
insd dword es:[edi], dx
inc ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49ee67
jae 0x49ee25
push esp
dec ecx
outsb dx, byte [esi]
je 0x49ee3f
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ee74
push esp
inc ebp
outsb dx, byte [esi]
jne 0x49ee74
jb 0x49ee6b
je 0x49ee7b
jb 0x49ee43
add byte [eax + 0x4306004b], dh
jb 0x49ee7c
popal
je 0x49ee7f
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
insb byte es:[edi], dx
out dx, al
dec ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or dh, byte [edx + edi*8 + 0x20049]
add al, byte [eax]
add eax, 0x73694c41
je 0x49ee41
add byte [edx], al
add byte [eax], ch
add al, bh
loopne 0x49ee92
add byte [eax], cl
dec ebp
outsd dx, dword [esi]
jbe 0x49eeb2
dec esi
js 0x49eec5
add eax, dword [eax]
add byte [eax], dl
inc eax
add byte [eax], cl
add byte [ecx], al
or byte [esi + ebp*8 + 0x49], ch
add byte [eax], al
adc byte [eax], al
or byte [eax], al
add dword [eax], ecx
insb byte es:[edi], dx
out dx, al
dec ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
jo 0x49ee5c
add byte [edx], al
add byte [eax], al
add byte [eax - 0x12], dh
dec ecx
add byte [edi], al
sub edx, dword [esp + ecx*2 + 0x69]
jae 0x49eeeb
imul esi, dword [ebx + 0x74], 0x7379533c
cmp al, 0x53
jns 0x49eeee
je 0x49eee2
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x49eef7
jae 0x49eeb5
push esp
dec ecx
outsb dx, byte [esi]
je 0x49eecf
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x49ef04
push esp
push esp
inc ebp
outsb dx, byte [esi]
jne 0x49ef04
jb 0x49eefb
je 0x49ef0b
jb 0x49ee36
in eax, dx
dec ecx
add byte [eax], al
jmp 0x49eef0
jb 0x49ef1e
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x49eec4
add byte [ecx], al
add byte [edx], al
shr dh, cl
add dword [eax], eax
add dl, dl
out dx, al
dec ecx
add byte [edx], al
add byte [edx], al
add byte [eax], al
add al, dl
out 0x49, eax
add byte [eax + 0x4be0], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4307ffff], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
inc dword [edi]
inc ebx
jne 0x49ef62
jb 0x49ef57
outsb dx, byte [esi]
je 0x49ef41
out dx, eax
dec ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi + ebp*8 + 0x49], bl
add byte [eax + 0x760049fa], bh
mov eax, 0x760049fa
out dx, eax
dec ecx
add cl, dl
out dx, eax
dec ecx
add byte [eax], al
add byte [eax], al
add byte [edi], ah
int1
dec ecx
add byte [eax + eax], dh
add byte [eax], al
test cl, ch
dec ecx
add al, bl
jge 0x49ef63
add al, ah
jge 0x49ef67
add byte [ecx + eax*4], dl
inc eax
add byte [ecx + eax*4], cl
inc eax
add byte [ecx + eax*4], ch
inc eax
add byte [eax], dh
add dword [eax], 0x408134
sub byte [ecx + 0x7b540040], al
inc eax
jnp 0x49ef83
add byte [eax + 0x7b], dh
inc eax
add byte [eax], dh
fimul dword [ebx]
cmp al, 0xd8
dec ebx
add byte [eax + 0x4b], ah
add byte [eax + ebx*8 + 0x4b], al
add byte [edx + ebx*8 + 0x4b], bh
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [edx], al
add al, byte [eax]
add byte [eax], al
or al, 0xeb
add byte [eax], al
add byte [ebx + ebp*8], cl
jmp 0x49efb2
dec ecx
add byte [eax], ah
add byte [eax], al
add byte [ebx + ebp*8 + 0x49], ch
add byte [eax + eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0
add byte [edx + ebp*2], bh
inc ebx
add byte [eax], cl
add byte [eax], al
add byte [ebx], cl
inc esi
dec esp
or byte [eax], al
add byte [eax], al
or eax, dword [esi + 0x4c]
imul esi, dword [ebx + 0x74], 0x706c6548
jb 0x49ef96
add byte [eax], al
or al, 0xeb
dec ecx
add byte [eax], ah
add byte [eax], al
add byte [esi], al
inc esi
dec ecx
je 0x49f008
insd dword es:[edi], dx
jae 0x49efa8
add byte [eax], al
insb byte es:[edi], dx
jmp 0x49eff4
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x49f018
jb 0x49f01e
jb 0x49efbd
add byte [eax], al
int3
inc dword [edi]
dec ecx
add byte [ebx], cl
add eax, dword [eax]
inc edi
dec ecx
add byte [ebx], al
hlt
add byte [edx], al
hlt
add byte [edx], al
hlt
dec ecx
add byte [edx], al
hlt
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
mov ebx, eax
mov dword [ebp - 0xc], ebx
adc cl, byte [ebx - 0xba27628]
lea ecx, [ebp - 0xc]
lea eax, [edi + 8]
mov edx, esi
call fcn.004398ac
inc esi
mov eax, dword [ebp - 8]
call fcn.004be4c8
test al, al
jne 0x4be99f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4be9ea
cmp dword [ebp - 8], 0
je 0x4be9e2
mov dl, 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx - 4]
ret