Function at 0x103816bd
Capabilities:
Packed with generic packer

Disassembly:
call fcn.1005862c
neg cl
ror cl, 1
sal al, 0x43
xor cl, 0xa2
sub edx, 0xe3bc1137
call fcn.104411e9
call fcn.103f7061
jns 0x10381304
adc dword [ebx + 0xbff4fe8], edi
add al, ch
ret 0x75d
adc dword [ebx], 0xffffffbf
inc esp
fist word [ecx + 0x51]
loop 0x103812df
mov al, 0x8b
pop ebp
jecxz 0x103812c8
hlt
mov byte [0xa6659ee8], al
cmc
inc edx
mov ecx, 0x41d65f13
xlatb
wait
jno 0x10381292
sal byte [ebx - 0x1a], 1
cmp eax, 0x1cc7a28f
push edi
push esp
xchg esp, eax
je 0x10381336
out 0x3d, al
invalid
mov ebp, 0x2bc90045
invalid
lcall 0x36ce, 0x17fbe670
jg 0x10381280
loope 0x103812b6
popfd
mov ebx, 0x1113dd8
xor ebp, dword ds:[ecx + 0x34]
xchg si, ax
stosb byte es:[edi], al
dec edi
fsub dword [eax - 0x40651127]
lock xor ebx, dword [ecx - 0x7fabd65f]
pop ds
sub eax, 0xdd44923
mov ch, 0xf9
adc byte [0xa88ad9d6], ch
out dx, eax
push ss
fstp qword [edx + 0x24fb217a]
iretd
push esp
sbb byte [edi], 0x2d
and ecx, dword [ecx - 0x2c]
or eax, 0x2d10f9b5
salc
invalid
mov bh, 0x2b
xchg edi, eax
push ebp
stc
mov dh, al
pop es
pushal
leave
outsd dx, dword [esi]
mov edi, dword [edx + esi*8 - 0x395c9a55]
dec ebp
je 0x10381389
mov dword [0x3e744dc6], eax
add ah, byte [edi - 0x14]
loopne 0x1038136b
or eax, dword [ebp - 0x105d7c60]
push ebx
adc esi, dword [edi]
mov bh, 0xb7
mov edx, 0x179a8116
jbe 0x103813bb
mov al, 0xa2
mov bl, 0x26
insd dword es:[edi], dx
test ebx, ebp
aad 0x32
mov bh, 0xe4
mov esp, 0x4353be88
xor dh, byte [edi - 0x4177431c]
push ebx
inc ebx
nop
add byte [edx], 8
xor ebx, dword [edi + ebp*2 - 0x7c]
xor ecx, ebp
popal
ljmp 0xac36
out dx, eax
add al, 0
add byte [eax], al
mov ecx, dword [edi]
xor ecx, ebx
mov edx, 0x67a8b094
ror dl, 0x84
rol ecx, 3
jmp 0x1036e32c
jle 0x10381346
xchg esp, eax
pmulhw mm2, qword [eax]
in eax, dx
mov al, 0xf
mov bh, 0xd1
lea esi, [esi + ecx - 0x4f12ef1f]
xor ecx, ecx
jbe 0x1046be7a
mov eax, 0xeba98c92
jmp 0x103f649c
neg edx
mov dword [esp + ecx*2 - 0xe4210], 0xdd20041c
pop ecx
sal ecx, cl
xor ebx, edx
add esi, edx
sub eax, eax
add eax, eax
mov di, word [edi + eax*8]
shr cx, 0xa8
jns fcn.1041b796
add esi, edx
lea eax, [ecx + ecx*8 + 0x6a327f1b]
xor ecx, dword [esp + ecx*2 - 0x191aad62]
pop edx
pop edx
jnp fcn.1039caee
mov eax, 0xc4b11680
lea edx, [eax + eax*8 - 0x7b4168ce]
mov edx, dword [edi + edx - 0x6ef861b2]
call fcn.103b5e8c
mov edx, 0x802948b9
movzx ecx, dl
add ecx, ecx
lea ebp, [ecx + ebp - 0x176]
shl cl, 0xa6
mov edx, dword [ebp + ecx*4 - 0x600]
push ecx
sbb word [esp + ecx - 0x180], cx
xor edx, ebx
rol edx, 1
ror cl, 0xc3
neg edx
dec byte [esp + ecx - 0x110]
ror edx, 1
add ecx, dword [esp + ecx - 0x110]
xor edx, 0x91bee3a8
neg edx
shl cl, 5
bswap edx
mov eax, 0x5c186d8e
rol edx, 3
push eax
add ax, 0xc520
xor ebx, edx
not ax
rol byte [esp + ecx - 0x2de], 0x65
add esi, edx
jmp 0x10468402
inc ecx
xor eax, 0xa02f5b98
lea ecx, [ecx - 0x4643cbd0]
push ecx
not ecx
ror eax, 3
shl cl, 1
inc edx
push ecx
dec eax
xor ebx, eax
push ecx
add edi, eax
movzx eax, cl
sub dword [esp + eax - 0x9c], eax
mov eax, dword [ebp + ecx - 0x5a9a3f9c]
lea edx, [edx*4 + 0x2220b10d]
dec word [esp + ecx - 0x5a9a3f9a]
rol cl, 0xe6
mov ecx, dword [ecx + ebp - 0x5a9a3f23]
lea ebp, [ebp + edx*2 - 0x443dc58a]
jns 0x1040d76f
add dx, cx
dec eax
rol eax, 1
neg cx
call fcn.1042b565
xor ebx, eax
sal byte [esp + ecx - 0x7b80fa7c], 0xc2
add edi, eax
or dx, 0xca9a
sbb word [esp + ecx - 0x7b80fa7c], cx
mov dword [esp + ecx - 0x7b80fa80], edi
ret 4
mov ecx, eax
not edx
ror eax, 0x2a
not ax
rol edx, 1
add eax, eax
shr cl, 0xe2
xor ebx, edx
bswap eax
and ax, cx
adc esi, edx
call fcn.1038184e
mov ecx, eax
sub esi, 4
movsx edx, cx
neg dl
mov eax, dword [esi]
setae cl
xor eax, ebx
lea eax, [edx + eax - 0x10e91859]
jmp 0x10393dd8
neg edx
or dx, dx
mov dword fs:[eax], ecx
ja 0x10461ba8
neg eax
sal ecx, 0xe7
jnp 0x103c1692
xor edx, ebx
rol edx, 1
dec edx
pop eax
bswap edx
add eax, eax
rol edx, 1
jmp 0x103c3519
shr word [esp + 8], 0xce
pop edx
pop edx
pop ecx
jmp edi
lea ebp, [ecx + ebp - 0x2e1]
movzx ecx, byte [ebp + ecx - 0x2e0]
rol ax, 0xad
neg eax
xor cl, bl
push eax
movsx edx, ax
not cl
pop eax
shr edx, 0x53
jp 0x10381285
mov eax, 0x4b221698
lea ebp, [ebp + eax - 0x4b22169c]
mov ecx, eax
mov ecx, dword [ebp + eax - 0x4b221698]
movzx edx, al
xor edx, edx
neg edx
xor ecx, ebx
dec ax
lea ecx, [edx + ecx - 0x5c1db532]
shl ax, 0x83
lea edx, [eax + eax*8 - 0x48d9085c]
call fcn.1045e13f
adc ecx, dword [esi + ecx]
lea eax, [edx + edx*8 + 0x7c85ed87]
xor ecx, ebx
push eax
inc byte [esp + eax - 0x7c8e557a]
add dword [esp + edx - 0xef1b], edx
bswap ecx
ror edx, 0x22
setae byte [esp + eax - 0x7c8e557a]
not ax
neg ecx
dec dword [esp + eax - 0x7c8eaa85]
lea ecx, [eax + ecx + 0x28f81539]
and edx, 0x15be4497
not edx
bswap ecx
dec dword [esp + eax - 0x7c8eaa85]
neg eax
push eax
xor ebx, ecx
sar dl, 0xe2
and eax, eax
adc ebp, ecx
or eax, edx
call fcn.103c4823
mov edx, 0xae80fb9b
push edx
sub ebp, 4
sar dword [esp], 0xf4
mov edx, dword [ebp]
jae 0x104577cc
mov ecx, 0x99187798
call fcn.104656f0