Function at 0x4086ef
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
pushal
mov eax, dword [0x40d698]
bt edi, eax
and dword [0x40e82b], edx
je 0x408721
mov esi, 0x2c5a8f51
mov cx, 0xbd92
adc edx, 0x6324142c
or edi, 0x34793a7f
rcl dword [0x40e650]
sub esi, edx
mov ebx, dword [0x40d69b]
adc dword [0x40e7c3], 0x7f
dec di
mov edi, esi
or esi, eax
mov dword [ebp - 4], 0xce3ece4a
shrd esi, edx, 0xf
or ebx, 0x1fc3d31
mov dword [ebp - 8], 0x474fc4dc
add byte [0x40e79f], 0xda
mov edx, dword [ebp + 8]
mov dword [0x40e6b7], 0x231f7bee
adc dword [0x40e74a], 0x40855156
mov edx, dword [edx]
setae byte [0x40e650]
rcl dword [0x40e798]
mov eax, edx
inc esi
add dword [0x40e69f], 0xffffff86
shr eax, 0x10
dec ecx
mov edi, 5
mov esi, edx
and edx, 0xffff
sbb cx, 0x934c
xor dword [ebp - 8], 0x50582441
movsx ecx, dl
xor dword [ebp - 4], 0x500937f3
rcr esi, 1
inc dword [0x40e665]
push edi
shrd ecx, eax, 2
push eax
bt dword [0x40e7e0], 0xd
or dword [0x40e7bd], 0x68
mov edi, edx
not ecx
mov eax, edi
mov ebx, 3
mov ecx, eax
inc dword [0x40e63b]
shl edi, 4
add ebx, dword [0x40d5ff]
sub dword [0x40e65b], 0x20dd94bd
shr eax, 5
mov ecx, edx
mov dword [0x40e7f6], 0x136f1e5d
xor edi, eax
inc byte [0x40e806]
mov eax, dword [ebp - 8]
sub dword [0x40e7ad], 0xfffffffd
add eax, dword [ebp + 0xc]
seta byte [0x40e744]
add di, dx
and esi, edx
dec dword [0x40e717]
jne 0x408843
or bl, 0x69
mov ch, al
mov dword [0x40e662], 0x3864bd39
push eax
pop dword [0x40e6e4]
not dword [0x40e835]
mov dword [0x40e7b5], eax
sub si, word [0x40d6eb]
xor edi, eax
mov dword [0x40e768], 0x5fd80cf4
pop eax
mov byte [0x40e6ae], dl
or dword [0x40e83a], edx
sub ax, di
sbb dword [0x40e7e2], edx
sub ebx, 0x4ace09b2
not ecx
mov edi, dword [ebp - 4]
xor ecx, eax
or ebx, eax
sub dword [ebp - 8], edi
movzx ecx, word [0x40d5f1]
sar bl, 7
push edx
cmp ebx, dword [0x40d5bf]
jge 0x4088d5
push edx
imul ecx, eax, 0x18e46f9d
movsx esi, word [0x40d795]
add esi, 0x3403d67f
rol dword [0x40e7b8], 1
mov ebx, edx
shld esi, eax, 0x1e
shl esi, 1
mov ebx, dword [0x40d705]
add dl, 2
neg dword [0x40e80a]
mov dword [0x40e666], edx
movzx edx, word [0x40d701]
pop edx
mov edi, eax
mov ecx, 0x495bdd7b
shld ebx, edx, 0xd
movzx ebx, ax
mov edx, edi
test dword [0x40e654], 0x36cab513
je 0x408953
and esi, edx
shl ebx, 0x18
mov word [0x40e728], 0x344b
sub dword [0x40e630], 0x23
and ebx, eax
jne 0x408953
inc dword [0x40e6a8]
xor ecx, edx
sbb dword [0x40e7ca], 0x4e
and esi, dword [0x40d63d]
xor esi, edx
sub byte [0x40e821], al
imul esi, dword [0x40d648], 0x78441c3b
movzx esi, ax
movsx ebx, word [0x40d6bf]
seta byte [0x40e84b]
adc esi, 0xffffff97
setl byte [0x40e7bb]
add dword [0x40e73d], 0x43
shl edi, 4
or ch, 0xc1
add ebx, 0x33582d9c
shr edx, 5
inc esi
or ebx, eax
ror esi, 2
xor edi, edx
shl word [0x40e80e], 1
and dword [0x40e633], 0xffffffa4
mov edx, dword [ebp - 8]
xor ecx, edx
add edx, dword [ebp + 0xc]
inc dword [0x40e726]
sub dword [0x40e69b], edx
setno byte [0x40e7d5]
shr edx, 0x10
rcl dword [0x40e6f5], 0x14
add di, ax
mov ecx, 0x308aa29c
xor edi, edx
xor byte [0x40e735], 3
jne 0x408a00
movsx esi, ax
movsx ecx, word [0x40d5cd]
sbb byte [0x40e727], 0xeb
mov ecx, 0x6b23b958
movzx ecx, word [0x40d66e]
mov byte [0x40e6f8], al
sub esi, 0x6eb9478a
test cl, dl
jne 0x4089fe
add ecx, 0xfffffffa
seta byte [0x40e815]
add byte [0x40e7d3], dl
push dword [0x40e7da]
pop dword [0x40e768]
sub ecx, 0x23
movsx ebx, al
neg ecx
pop edx
setge byte [0x40e7d8]
sub dx, di
adc ch, byte [0x40d697]
inc ebx
pop edi
seto byte [0x40e634]
and dword [0x40e66b], 0x28b4e32d
sub dword [0x40e7ca], 0x10
dec edi
jne 0x4087ae
adc ecx, 0xffffffdf
xor dword [0x40e64b], 0x24237663
push edx
or edx, 0xfffffff5
xor ebx, dword [0x40d6a3]
and dword [0x40e62f], 2
inc edx
bt ebx, eax
shld dword [0x40e7d3], eax, 0x1d
dec esi
inc dword [0x40e757]
imul esi, dword [0x40d7a3]
rcr dword [0x40e852], 9
adc cl, dl
mov edx, 0x31839b9b
inc si
movsx ebx, ax
sub esi, 0x68
or byte [0x40e73d], dl
je 0x408bbd
sbb dx, dx
sub ecx, dword [0x40d57c]
not dword [0x40e75d]
neg word [0x40e6c0]
not byte [0x40e6c1]
push dword [0x40e7a4]
pop dword [0x40e634]
sbb word [0x40e6af], 0x9abd
mov byte [0x40e848], al
or dword [0x40e6e2], edx
jne 0x408bbd
sbb esi, edx
mov dword [0x40e6fe], edx
setne byte [0x40e85b]
push dword [0x40e6a8]
pop dword [0x40e79e]
shr dword [0x40e652], 1
sbb dword [0x40e702], 0xffffff94
setae byte [0x40e7a9]
setge byte [0x40e630]
inc dword [0x40e73e]
or edx, dword [0x40d65e]
je 0x408bbd
mov dword [0x40e7c8], 0x21f00ecd
adc edx, edx
movsx esi, word [0x40d6cb]
mov byte [0x40e696], 0xbe
adc edx, dword [0x40d6b2]
setne byte [0x40e7c4]
adc dword [0x40e713], edx
sbb dword [0x40e6b1], edx
shld dword [0x40e668], edx, 6
or ecx, 0xffffffca
dec byte [0x40e753]
js 0x408bbd
or word [0x40e6b8], 0xe613
bt ecx, edx
mov bl, dl
shrd edx, eax, 0xd
xor edx, eax
bt dword [0x40e697], 4
sar dword [0x40e79f], 0x14
call fcn.0041b428
dec dword [0x40e63d]
rcl dword [0x40e7ea]
imul ecx, eax
mov byte [0x40e7b7], al
movzx edx, dx
imul ebx, edx
mov esi, eax
adc si, 0x49c4
movsx esi, byte [0x40d6af]
movsx edx, word [0x40d700]
sub byte [0x40e701], 0xd7
movzx ebx, dx
pop edx
xchg esi, edx
push eax
movsx ecx, byte [0x40d6d9]
dec cx
setns byte [0x40e6d5]
inc ecx
mov eax, 0x355a32bf
mov cl, 0x95
and byte [0x40e6c7], al
mov byte [0x40e6c8], 0x11
and dword [0x40e6dd], 0x28
mov dword [0x40e67d], 0xa86f118
push eax
adc dword [0x40e76d], 0xffffff91
and cx, 0x270f
sub dword [0x40e853], 0x67
not dword [0x40e6ca]
shl eax, 1
inc edx
pop eax
mov byte [0x40e6f2], dl
pop eax
shl eax, 0x10
ror ecx, 0x19
inc edx
or esi, eax
push 0x6eeb0010
pop dword [0x40e813]
movzx ecx, word [0x40d60e]
mov edi, dword [ebp + 0x10]
xor ecx, eax
mov dword [edi], esi
xor ebx, dword [0x40d6ea]
movsx ecx, dx
popal
mov esp, ebp
pop ebp
ret 0xc