Function at 0x420ba2
Capabilities:
Packed with generic packer

Disassembly:
mov al, byte [ebp + 0xb]
push esi
movsx esi, word [0x42d281]
pop esi
push esi
xchg ch, bh
xchg bh, ch
mov byte [esi + 0xba], bl
jmp 0x4258c4
mov dx, word [ebp + 0x10]
push eax
mov dh, dh
mov dl, dl
mov cx, cx
js 0x42e8e6
lea ecx, [ecx]
jns 0x410950
mov ch, 0x4c
jns 0x42e8e6
mov ecx, 0x8d04468b
adc cl, byte [ebx - 0x2d76f7a2]
mov al, byte [ebp + eax]
lea esi, [esi + 0xc]
add edi, 0x9b3bd7eb
sub edi, 0x9b3bd7eb
sub dx, 0
xor byte [ebx], al
jb 0x428d15
jmp dword [esi]
and cl, al
ja 0x42be28
jbe 0x413180
pop ecx
sbb dword [edi - 0x6c], edi
jbe 0x42be28
add eax, 0x1d443115
add byte [edi], cl
xor byte [esp + ecx*2 + 0x26ff0001], 0xba
enter 0xffffffffffffc989, 0xffffffffffffff8b
inc esi
add al, 0x8b
pop esi
or byte [edx + 0x52000544], cl
mov bl, bl
mov ecx, ecx
mov word [esi + 0xbc], dx
mov si, si
call fcn.004285a8
mov al, byte [ebp + 0xb]
shr dl, 0x40
push esi
shl di, 0x20
mov byte [esi + 0xba], bl
ja 0x418cbd
jbe 0x4165b6
lea ebp, [0x860f32de]
add dword [edi], esp
add byte [eax], al
jbe 0x418cbd
fimul dword [esi + 0xbcbe89]
add byte [eax], al
xchg cl, bh
xchg bh, cl
mov byte [esi + 0xbb], al
push 0x41ee9d
ret
mov al, byte [ebp + 0xb]
add esp, 0xc
cmp bl, 1
mov byte [esi + 0xba], bl
mov dx, dx
mov byte [esi + 0xbb], al
mov bp, bp
xchg dl, al
lea esi, [esi + 0xc]
mov dword [ebx], eax
jmp dword [esi]
js 0x420b90
jns 0x419cb2
fisttp dword [edi]
mov byte [0xd8890fc3], al
outsb dx, byte [esi]
add byte [eax], al
jns 0x420b90
and eax, 0x81c38913
les eax, [eax + eax]
add byte [eax], al
test bl, 8
jb 0x413172
je 0x41f500
jne 0x419cd7
jb 0x419c69
or edi, esi
call fcn.0041f4ec
and eax, 0xec83d5
jae 0x419ce7
pushfd
loope 0x419cea
jae 0x4233bc
xchg esi, eax
add byte [eax], al
mov dword [ebx - 0x7d], 0xa10041f7
inc edx
add al, bh
add eax, dword [ebx]
add ebx, dword [ebp - 0x5df0ffbf]
nop
ret
xchg al, ah
xchg ah, al
pop esi
xchg bh, ah
xchg ah, bh
pop dword [esp - 4]
shl si, 0x20
mov byte [esi + 0xbb], al
shr cl, 0x40
push edx
pop edx
mov word [esi + 0xbc], di
call fcn.0041f076
mov dx, dx
js 0x4288af
mov bx, bx
jns 0x41bcb4
pop edx
jns 0x4288af
jns 0x4288af
adc byte [edx + 0x4e8b098d], 4
call 0x418085
and eax, 0x6a0e8bf8
pop es
mov eax, dword [esi]
push 0xf
push eax
mov ah, ah
mov ebp, ebp
call fcn.0042631a
mov cl, cl
mov ecx, dword [esi]
add esp, 8
push ecx
jno 0x433859
sub cl, 0x34
jmp 0x417da7
jno 0x419639
jo 0x420b9a
pop ss
jo 0x419639
xor al, 0xf5
xchg edx, eax
std
inc eax
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
aad 0x5f
inc ebx
add byte [eax], al
add byte [eax], al
out dx, eax
sbb byte [edx], al
cmp al, 0
add byte [eax], al
inc eax
add byte [eax], al
add byte [esp + ebx*4 + 0x41], dh
add byte [ecx], dh
add byte [eax], al
add byte [ecx], dh
add byte [eax], al
add byte [eax + 0x80041d8], al
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
test dword [edx], ebx
inc edx
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov edx, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
sub al, 0
add byte [eax], al
adc dword [edi + 0x41], eax
add byte [edx + 0x1a], ch
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
xor edi, 0x41
add byte [ebp - 0x7f], bl
inc edx
add al, bh
add eax, dword [ebx]
sbb al, 0xc
inc edx
add byte [edi - 0x29], ch
aad 0x5f
inc ebx
add byte [eax + eax], ch
add byte [eax], al
stc
inc ebx
add byte [eax + eax], ch
add byte [eax], al
test dword [edx], ebx
inc edx
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
or byte [edi + 0x41], al
add bh, ch
sbb byte [edx], al
xor byte [eax], al
add byte [eax], al
sub al, 0
add byte [eax], al
sub dword [edx + 0xd0041], 0x2c0000
add byte [eax], al
adc eax, 0x30040e8
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ecx + 0x30004204], dh
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
inc ebp
mov word [edx], es
dec ebp
mov word [edx], es
test dword [edx], ebx
inc edx
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
mov bh, 0xa2
inc ecx
add byte [ebp - 0x74], al
inc edx
add byte [esi - 0x74], dl
inc edx
add byte [ecx], cl
inc esp
inc ebx
add byte [edx + 0x57], dl
push esi
push eax
jmp 0x421ef4
push esi
push 0x9c402458
shr edx, 0x40
push ebx
mov di, di
call dword [fcn.00474da8]
test eax, eax
jb 0x41e399
shl al, 0x20
jne 0x430af0
je 0x421f1f
cpuid
push cs
ret
jmp 0x421f20
push esi
js 0x430acd
jns 0x421f2e
je 0x421f80
test ebx, esi
jns 0x430acd
xor al, 0x34
shl dx, 0x20
shr dl, 0x40
mov byte [esi + 0xbb], 0
shl cx, 0x20
mov word [esi + 0xbc], dx
lea ebp, [ebp]
lea ecx, [ecx]
call fcn.0043356a
jmp 0x4251d3
mov dx, dx
mov cl, byte [ebp + 0xc]
shl ebx, 0x20
xchg bh, bl
mov dx, dx
xchg bl, bh
mov dx, word [ebp + 0x10]
mov bx, bx
push eax
xchg dl, bh
xchg dx, di
xchg di, dx
xchg bh, dl
mov cx, cx
jno 0x42c265
mov esi, esi
jo 0x422661
lodsd eax, dword [esi]
and al, 0xf
cmp dh, 0x9b
add byte [eax], al
jo 0x42c265
invalid
jne 0x40ef98
shl di, 0x20
je 0x4251e1
pop esi
out dx, eax
je 0x40ef98
add ch, 0xf9
inc ebx
add byte [eax], al
add byte [eax], al
xor al, ch
inc eax
add byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
pop ebx
inc eax
add byte [eax], ah
jnp 0x4251d9
pop edi
inc ebx
add byte [eax + eax], al
add cl, bh
inc ebx
add byte [eax + eax], al
add dh, cl
pop eax
inc ecx
add byte [eax + eax], ch
add byte [eax], al
sub al, 0
add byte [eax], al
inc ebp
mov word [edx], es
invalid
call fcn.0041e1a7
push 0
push 0x42e50a
ret
mov byte [esi + 0xbb], al
mov ebx, ebx
mov bx, bx
mov word [esi + 0xbc], di
call fcn.0042c65d
jne 0x422630
je 0x4258e5
js 0x4258b5
je 0x422630
invalid
cmp byte [esi], ah
jne 0x41e394
je 0x426764
cpuid
ret
je 0x41e394
mov dword [ebp + 0x3c], esp
shl cx, 0x20
mov dword [ebp + 0x44], esi
jno 0x411c81
jo 0x426780
nop
cpuid
ret
jo 0x411c81
and eax, 0x5015ff0f
push ecx
inc esi
add cl, ch
xor dl, bl
invalid
xor byte [ebp + 0x4212c968], bl
add bl, al
fadd dword [esi + 0xbb86c6]
add byte [eax], al
add byte [esi - 0x3f], ah
jmp 0xf820bb0
lea esi, [esi + 0xc]
stc
cmp dword [ebp + ebx], eax
jmp dword [esi]
mov cl, byte [ebp + 0xc]
shl bx, 0x20
jne 0x410938
je 0x4288c2
nop
cpuid
ret 0x840f
je 0x410938
xor eax, 0xe88364
mov di, di
shr ah, 0x40
jno 0x4288d8
sbb edi, dword [edi]
mov cl, byte [edi]
and dword [edi], 0xdaffff7c
or al, 0xf
jno 0x420505
fimul dword [edi + ecx]
test dword [eax - 0x24], ebx
invalid
fcom dword [eax + 0x5d40ebc1]
ret
call fcn.00414abf
push esi
mov esi, 0xe07eca1d
movzx esi, byte [0x424e81]
mov si, ax
pop esi
mov bl, bl
jmp 0x419ca6
mov eax, dword [esi + 4]
lea esi, [esi + 8]
setno byte [ebp + eax]
jmp dword [esi]
lea ebp, [ebp]
shr cx, 0x40
mov dl, dl
push esi
mov esi, esi
mov byte [esi + 0xba], cl
push ebx
xchg bh, bh
movsx ebx, word [0x433a8d]
pop ebx
shr edx, 0x40
mov byte [esi + 0xbb], 0
js 0x416585
jns 0x42c298
in eax, 0x24
sti
jns 0x416585
invalid
invalid