Function at 0x4ce31a
Capabilities:
Packed with generic packer

Disassembly:
pop ebx
call 0x46cda7
xor dword [esi - 1], esp
je 0x46cdcf
add cl, byte [ebp - 0x16fddb9c]
in eax, 0xa
push es
add byte [esi], cl
mov cs, word [si]
wait
pop esi
push 0x17574e3a
push eax
mov ah, 0x2f
cld
pushal
loope 0x46ce39
jmp 0x4870e0
pop ebx
mov dl, 0xc3
jl 0x46cddf
adc al, byte [eax]
insd dword es:[edi], dx
jbe 0x46ce33
sbb byte [edi + esi - 0x16a896e2], al
mov ebp, 0xfa000605
ja 0x46ce03
jmp 0x4cd3a1
mov bh, 0x55
xchg edi, eax
cmp dh, byte [eax + 0x19a486f6]
invalid
push sp
lea esp, [esp + 2]
jmp 0x4cdc75
push cs
push es
add byte [edi], bl
imul eax, eax, 0x71168014
xor byte [ebx], 0xbd
mov eax, gs
pop esp
or eax, dword [esi]
add ch, cl
xchg byte [edi - 0x420c4069], ch
push ds
push 0x5ecf3b31
cmp eax, 0x60aa19e1
mov dword [esp + 4], edx
mov byte [esp + 0x17], cl
jmp 0x4cd9ca
push es
add cl, cl
lodsd eax, dword [esi]
mov dh, 0x9d
into
scasb al, byte es:[edi]
inc edx
out 0x9f, eax
push 0x2fdc7951
and ecx, ebp
inc eax
or eax, dword [esi]
add byte [edx], ch
invalid
pushal
jmp 0x4cdb13
xor eax, eax
jmp 0x4cdd11
jmp 0x4cdac5
jmp 0x4cdb0b
call fcn.004ce332
pop word [esp]
lea esp, [esp + 2]
mov cx, word [eax + ebx*2 + 8]
setp dl
mov edx, esp
jmp 0x4ce13a
setne dl
bsr dx, di
mov edx, dword [eax + 4]
jmp 0x4cd9de
ret
add eax, dword [ecx + 0xc]
jmp 0x4cdbe8
push ecx
jmp 0x46cf9b
mov ecx, dword [ecx + 0x14]
lea esp, [esp + 4]
test ecx, ecx
jmp 0x4cdbfe
jmp fcn.004cd0d2
push ebp
sete al
not ax
jmp 0x4cd199
mov eax, esi
mov eax, dword [esp]
jmp 0x4cd1e6
mov ebp, esp
sub esp, 0
bswap eax
sub esp, 0x10
jmp 0x4cd183
mov eax, ebx
jmp 0x4cd2e6
mov dword [esp + 4], ebx
lea ebx, [esi*4]
jmp 0x4cd2a1
and dword [ebp - 0xc], 0
sub esp, 0xa
mov dword [esp + 1], ebp
mov ah, byte [esp + 1]
lea esp, [esp + 2]
jmp 0x4cd1d0
movzx eax, word [edx]
pop edx
sub esp, 0x11
lea esp, [esp + 1]
jmp 0x4cd254
push edx
mov edx, ebx
add edx, 0xe
jmp 0x4cd20f
mov dword [eax], ecx
pop eax
mov ch, 0xb3
push esi
jmp 0x4cd274
add eax, ecx
mov dword [ebp - 0x10], edx
jmp 0x4cd25e
push eax
mov eax, ebp
add eax, 0xfffffffc
jmp 0x4cd232
lea esp, [esp + 0x14]
test eax, eax
jmp 0x4cd280
mov esi, ebx
add esi, 0xc
movzx ecx, word [esi]
pop esi
clc
jmp 0x4cd23a
jle 0x46cda0
mov ax, word [esp]
bsr eax, ebp
mov eax, 0x9af789d0
jmp 0x4cd2cb
mov ebx, dword [ebp + 8]
mov al, ah
mov eax, dword [esp]
bswap eax
mov eax, 0x3967889
jmp 0x4cd22a
push edi
mov esi, 0xa080456d
neg edi
jmp 0x4cd2da
push esi
lea esi, reloc.KERNEL32.dll_GetProcAddress
bt esi, ebx
lea eax, [ebx + 0x14]
jmp 0x4cd2b5
mov edi, dword [ebp + 0x10]
mov si, bx
push esi
jmp 0x4cd4a2
mov eax, dword [ebp - 8]
mov si, 0x5aeb
bswap esi
jmp 0x4cd326
push ecx
pushal
mov dword [esp + 0x18], eax
call fcn.004cd310
push 0
call fcn.004cd38b
aas
cmpsb byte [esi], byte es:[edi]
xor al, 0x53
scasb al, byte es:[edi]
sbb dword [ebx - 0x25], ecx
dec ebx
invalid
mov edi, ebp
lea edi, [edi - 0x10]
mov eax, dword [edi]
pop edi
sub esp, 8
jmp 0x4cd3ec
add esi, eax
call fcn.004cd3c9
mov esi, ebp
add esi, 0xfffffff8
mov dword [esi], eax
pop esi
jmp 0x4cd1ba
push ebx
lea edx, [esi*4]
jmp 0x4cd9d8
lea esp, [esp + 0x20]
test eax, eax
je 0x46ce71
jmp 0x4cd9b1
push esi
jmp 0x46cf06
clc
pushal
lea esp, [esp + 0x20]
test edx, edx
jmp 0x4cda08
jb 0x46ce5b
call fcn.004cda18
lahf
push ss
test bl, ah
push ds
lodsb al, byte [esi]
or ecx, dword [ebx + reloc.KERNEL32.dll_GetProcAddress]
scasb al, byte es:[edi]
mov ecx, 0xf3e9c033
stc
dec dword [edi]
test byte [ebp - 0xc], cl
stc
inc dword [ebx - reloc.KERNEL32.dll_GetProcAddress]
and al, 0x20
je 0x46ce5b
cmp edx, 8
pushal
lea esp, [esp + 0x20]
jmp 0x4cd9e8
inc ebx
cmp ebx, esi
jb 0x46ceb3
jae 0x46ce9d
push edx
test byte [edx + ecx*8 - 0xe], cl
inc ebp
inc eax
cmp eax, 0x9e3c7882
push 0x17e48c51
jle 0x4cdb31
lea edx, [ecx + edi]
mov ecx, dword [ebp - 4]
add dword [edx], ecx
jmp 0x46ce87
add eax, dword [eax + 4]
call fcn.004cdaf5
lea esp, [esp + 0x20]
pop esi
lea ebx, [edi*4]
jmp 0x4cdf5c
stc
push ecx
dec edi
in al, 0x51
xlatb
jmp 0x4cdb77
lea esp, [esp + 2]
cmp cx, dx
lea esp, [esp + 0x14]
jne 0x46ce87
call fcn.004cdac3
clc
sub dh, al
jmp 0x4cdb9c
mov eax, eax
add byte [eax], al
add byte [ebp - 0x317bf037], al
stc
push dword [ebp - 0x26]
cmp edx, eax
jmp 0x4cdb9f
push esi
jmp 0x4cdbbc
jae 0x46cf94
push ecx
mov si, cx
jmp 0x4cdbdf
bt dx, cx
xchg dh, dl
mov edx, dword [ecx]
jmp 0x4cdb86
cmp eax, esi
lea esp, [esp + 8]
jbe 0x46cf7e
ja 0x46cf94
pop ss
xchg byte [ebx + esi*2], dl
mov cs, word [ebp - 0x49]
mov esi, dword [ecx + 4]
pushfd
add esi, edx
cmc
jmp 0x4cdbc6
pop esi
jmp 0x46cf52
jne 0x4cdbbc
pop esi
ret
pop edi
call fcn.004cdc35
jmp 0x4ce2b8
push esi
mov esi, ebx
lea esi, [esi + esi]
jmp 0x4ce2fa
inc eax
jmp 0x46cdfb
pop ebx
jmp 0x46ce71
and cx, dx
pushfd
mov edx, 0x3000
push di
mov word [esp], sp
jmp 0x4cdb4a
mov edx, 0xf000
sub esp, 0x17
pop dword [esp + 3]
lea esp, [esp + 3]
jmp 0x4ce093
mov eax, dword [ebp - 0xc]
mov cx, 0x2aea
lea ecx, [esi + esi]
jmp 0x4cdc80
mov ecx, dword [esi + 0x1c]
lea edi, [eax*4]
jmp 0x4ce30b
lea esi, [eax + esi]
movzx eax, word [esi]
pop esi
mov cl, bh
add edi, 0x9394de4d
jmp 0x4ce2e0
invalid
lea ecx, [ecx + eax*4]
mov eax, dword [ebp + 8]
mov edi, dword [eax + ecx]
call 0x4ce31a
je 0x4ce304
js 0x4ce320
add byte [eax], al
pop es
mov dword [edx], ecx
and al, byte [esi + 0x414b46dc]
or al, 0x6c
mov esi, 0x8e6790f4
sbb dword [eax - 0x73], edi
invalid
adc al, 0xad
add byte [eax], al
add byte [eax], al
jmp 0x46ceb8