Function at 0x10122017
Capabilities:
Packed with generic packer

Disassembly:
jmp 0x10017c54
push dword [esp + 8]
jmp 0x101db696
add esp, 4
pushal
call 0x1000ccfe
clc
mov edi, dword [edi]
rol esp, 1
sub ch, dh
sahf
add al, 0x91
mov dl, 0x37
xor edx, 0xffffff9c
cmp byte [eax], dh
lodsd eax, dword [esi]
loop 0x10149cde
outsb dx, byte [esi]
xlatb
jbe 0x10149c64
cwde
loop 0x10149c9e
cdq
push cs
loopne 0x10149cad
inc ebp
xor al, 0x68
wait
invalid
js 0x10149cee
adc ecx, esp
sbb edx, dword [edi]
int1
add dh, byte [esi]
idiv dword [ebx - 0x5910ca46]
popfd
jb 0x10149cb1
sbb ah, cl
sbb ah, cl
dec dword [edi - 0x391b8e72]
invalid
sub byte [ecx], bl
pop ss
test byte [esi + 0x2a], cl
sti
shr dword [ebx], 0x18
pop ebp
sbb dword [esi], edi
lds edi, [ebx]
mov eax, dword [0x1280eedb]
jmp 0x10149d6c
fucomi st(6)
adc byte [edx], 0xeb
js 0x10149d4a
jmp 0x4da8c025
or ah, bh
sub al, 0x13
clc
push ebp
mov edi, 0x8c85cabd
in al, 0xca
sar dword [edx], 1
imul eax, eax, 0xffffffd9
inc edi
fucompi st(6)
ror byte [0x43425e62], 0xe8
pushal
mov byte [0xe6a11452], al
add bl, byte [edx]
ror bh, 0x61
add cl, byte [eax + 0x60]
retf
movsx ecx, cl
bswap ecx
mov dword [ebp - 0x24], eax
movzx cx, dl
mov ch, ah
mov ecx, dword [ebp - 0x24]
push esp
jmp 0x101fe94e
lea esp, [esp + 0x2c]
call fcn.10010440
sub dl, 0xee
test dh, dl
lea ecx, [ebx*4 + 0x3a9b8341]
cmp dl, ah
mov edx, dword [ebp + 0x10]
btc ecx, 0x1f
sub edx, dword [eax]
movsx ecx, cl
mov eax, dword [ebp + 0x18]
pushal
push dword [esp]
mov byte [esp], ah
mov byte [esp + 4], 0xbf
mov dword [eax], edx
movzx cx, cl
setg cl
bswap ecx
mov dword [ebp - 0x110], 1
push edi
bswap cx
pop ecx
mov byte [esp], 0x15
mov dword [ebp - 4], 0xffffffff
call fcn.10155e98
mov es, eax
jno 0x101db6f8
push edi
and eax, 0xf92974fb
sti
je 0x101db724
stc
cmp esi, edx
mov dh, 0xbd
mov dh, 0x12
loopne 0x101db6e9
insb byte es:[edi], dx
sahf
and al, 0x8c
xor eax, 0x64105ce9
mov ch, 0xc8
mov ecx, 0x2694e16d
imul esi, dword [esi], 0xc86ee288
enter 0x6db9, 0xffffffffffffffe1
xchg esp, eax
imul esi, dword es:[esi], 0xc86ee288
inc ebx
leave
aas
daa
mov ch, byte [edi - 0x4d]
je 0x101db77a
mov bl, 0x67
je 0x101db77a
or eax, 0x3924929d
popfd
cmp ecx, dword [ebx - 0x6e]
out dx, al
ja 0x101db772
aad 0xca
out 0xde, eax
cmp dl, cl
inc ebp
ror eax, 1
in al, dx
ja 0x101db70e
xor eax, 0xc6c57591
xor esi, edx
popal
mov ebp, 0x1462386a
clc
pushal
and byte [eax - 1], ch
test eax, ebx
das
mov dl, 0x8c
hlt
out 0x97, eax
cmpsb byte [esi], byte es:[edi]
or byte [eax - 0x5c], al
mov edi, 0x8ffe1c1b
loop 0x101db720
mov byte [ecx], bl
std
jne 0x101db762
shl dword [eax], 0xa8
jno 0x101db7be
adc al, 0x1b
dec eax
inc bh
mov ebx, 0x6d58e511
aas
scasd eax, dword es:[edi]
jnp 0x101db73b
sbb ecx, dword [eax - 2]
invalid
test eax, 0x2169f4bc
cdq
push eax
inc esi
sbb esi, dword [ebp + 0xc2474ff]
lea esp, [esp + 0x44]
call fcn.1000aa60
test bl, 0x7c
rcl ch, cl
cmp cl, 0x3b
or ecx, esp
add esp, 0xc
movsx ecx, bl
call fcn.1021b295
setno ch
movzx ax, cl
mov eax, dword [ebp - 0x18]
jnp 0x1016b202
movzx cx, dl
movzx cx, cl
mov cx, cx
mov dword [ebp - 0x24], eax
mov cl, 2
pushal
pop ecx
pushfd
mov ecx, dword [ebp - 0x24]
jmp 0x10109bf7
mov dword [esp], ecx
pushfd
pushfd
pushal
lea esp, [esp + 0x28]
call fcn.1001b14f
jmp 0x10149c54