Function at 0x49e440
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x49e45d
cmp dword [ebx + 0x2c], 0
jne 0x49e462
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x49e46a
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 0x40
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebx + 0x2e4], 0
mov dword [ebx + 0x2e8], 0
mov dword [ebp - 0x10], 0x40
call fcn.0049ac20
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x49e4c0
push 0x660558
call fcn.0049d300
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
push edi
push ebx
mov dword [ebp - 4], esi
call eax
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov edi, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
cmp esi, edi
jbe 0x49e5fe
cmp eax, 0x3c
je 0x49e4f8
cmp eax, 0xffffffff
jne 0x49e607
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x49e508
cmp edi, 0xffffffff
jne 0x49e516
push dword [ebp + 8]
call fcn.0049c680
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.0049ba30
add esp, 4
test eax, eax
je 0x49e5ed
mov eax, edi
sub eax, 1
je 0x49e59b
sub eax, 1
je 0x49e57f
sub eax, 1
jne 0x49e5ed
cmp dword [ebx + 0x44], esi
je 0x49ebed
mov edi, dword [ebp - 8]
mov dword [edi + 0x18], 3
push dword [ebp + 8]
mov eax, dword [ebx + 0x44]
push edi
push ebx
call eax
add esp, 0xc
test eax, eax
jne 0x49e5ed
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.0049d300
add esp, 0xc
jmp 0x49ed2c
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.0049fd20
add esp, 0xc
test eax, eax
jmp 0x49e5e7
cmp dword [ebx + 0x2e8], esi
je 0x49e5d2
push dword [ebp + 8]
call fcn.0049bcb0
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x49e5d5
cmp dword [edi + 0x18], esi
jne 0x49e5d5
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.0049e190
add esp, 8
test eax, eax
jmp 0x49e5e7
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.0049e130
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49ebff
mov eax, dword [ebp - 0xc]
test eax, eax
mov edi, dword [ebp + 8]
cmove eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffff
je 0x49ecfe
cmp eax, 0x3c
jne 0x49ebae
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x49e739
nop word [eax + eax]
push esi
call fcn.0049cc50
add esp, 4
test eax, eax
jne 0x49e739
cmp esi, 0x3e
je 0x49e739
cmp esi, 0x2f
jne 0x49e65a
cmp edi, dword [ebp + 8]
ja 0x49e739
jmp 0x49e6ba
cmp esi, 0x3c
je 0x49ec17
cmp esi, 0x26
jne 0x49e6a2
push dword [ebp - 8]
push ebx
call fcn.0049f1f0
add esp, 8
cmp eax, 0xffffffff
je 0x49ed2c
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.0049e320
add esp, 0x10
test eax, eax
je 0x49ed2c
mov edi, dword [ebp - 4]
jmp 0x49e722
cmp esi, 0x30
jge 0x49e6ba
cmp esi, 0x21
je 0x49e6ba
cmp esi, 0x2d
je 0x49e6ba
cmp esi, 0x2e
jne 0x49ed2c
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.0049e320
add esp, 0x10
test eax, eax
je 0x49ed2c
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x49e6eb
cmp byte [ecx], 0x3f
je 0x49e739
cmp eax, 3
jne 0x49e706
push eax
push 0x660610
push ecx
call 0x69b190
add esp, 0xc
test eax, eax
je 0x49e739
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x49e722
push eax
and al, 0x96
test byte [esi + 0x36960ce8], dl
pop ebx
neg byte [esi - 0x3a]
cmp byte [ecx + 0x5e], ch
mul ch
jbe 0x49e79c
jns 0x49e785
popal
clc
cli
and al, byte [eax + 0x58]
invalid
push ecx
cmp bl, byte [eax + 0x1a]
add bh, byte [eax]
jmp 0x49e774
inc ecx
xlatb
pop ebx
pop dword fs:[esi - 0x51]
ror byte [esi + 0x2ac71af7], cl
adc bh, byte [ecx - 7]
shl dword [esi + eax + 0x32], 0xda
push es
xor bl, dl
sbb byte [edx + 0x3be4ff67], 0x64
xlatb
add al, 0xa0
test byte [esi - 0x72], dh
jo 0x49e80d
pushal
mov edx, 0xd74480c0
inc esp
xlatb
pop ecx
stosb byte es:[edi], al
rcr byte [ebp - 0x11], cl
rol dword [ecx + 0x46a28d60], cl
mov byte [edx - 0x5e], bl
test byte [ecx + 0x42], bh
wait
jne 0x49e775
cmp byte [ebp + 2], al
sbb edx, dword [edi + 0x645630ee]
out 0x8e, al
div dword [eax + 0x7b]
sub cl, bl
sub dword [eax + 0x27], esp
pop es
push 0xf5b88b66
jg 0x49e7e9
hlt
test dword [ebp + 0xf], esp
lcall 0x3897, 0xea728a67
lds ebx, [edx - 0x59]
pop edx
in al, 0x29
das
ror ch, cl
mov bl, 0xc1
stosd dword es:[edi], eax
invalid
jecxz 0x49e7ec
push 0xffffffffffffffca
xchg esp, eax
mov ecx, 0xc7912b84
dec esi
test dword [esi], eax
jno 0x49e88e
stosb byte es:[edi], al
aam 0x73
sub byte [0xc3f0db58], ch
xor dh, dl
sub byte [0xc914b954], ch
push edi
invalid
pushfd
out 0x1a, al
push ebp
test eax, 0x1696b484
iretd
cmp esp, dword [esp - 0x5d]
or eax, 0xd9aa572c
and al, 0x49
pushfd
jmp 0x49e846
and al, 0x83
les ebx, [ecx + 0x78]
invalid
sub esi, esi
outsd dx, dword [esi]
jbe 0x49eb5e
mov dword [0xe14b490e], eax
dec ecx
push ds
ljmp 0xbc6e
sbb ecx, dword [ebx - 0x527da1cc]
and dword [ebx - 0x4c60b227], 0xffffffd3
or bh, dh
sbb dword [0x3ba13e03], ecx
jb 0x49ec6a
mov eax, dword ds:[0x5066723b]
push eax
sal dword [bx - 0x60], cl
enter 0xffffffffffffe698, 0xffffffffffffffaa
adc byte [0x3c7e6ae7], dh
rol byte [edx - 0x4a], cl
dec edi
cmpsd dword [esi], dword es:[edi]
cmc
wait
rcl dword [0xeba02607], cl
adc eax, 0xcaa0a307
fdivr dword [0x5892e1b9]
push ebx
lea esp, [esi + 0x5a]
aas
mov dword [edi - 0x65], esi
or byte [ecx], bh
invalid
scasd eax, dword es:[edi]
stosb byte es:[edi], al
jmp 0x49ec20
push ss
out dx, al
sbb cl, byte [ecx]
lcall 0x4f3f, 0x9254f3b6
inc ebp
fcmovu st(0), st(3)
or bh, dl
xchg ebx, eax
add eax, ecx
mov ecx, 0x96e62928
bound ebp, qword [edx]
push edi
invalid
mov bh, 0xc8
and dword [ebx], ebx
stosd dword es:[edi], eax
enter 0x1b21, 0xffffffffffffffab
mov esp, dword [esi]
aas
out 0xdf, al
cwde
fnstcw word [ebx]
lahf
jae 0x49eca1
dec edx
pop ebp
mov bh, byte [ebp - 0x493948fd]
mov esi, 0x121442be
aam 0x1a
out 0x50, eax
push ebp
lodsb al, byte [esi]
sbb byte [edx - 0x44], dh
sbb dh, byte [esi]
dec ebp
movsd dword es:[edi], dword [esi]
loop 0x49ecff
mov dword [0xa7ff3c81], eax
cmp al, 0xff
cmpsd dword [esi], dword es:[edi]
into
inc edi
mov dl, 0x15
or dword [edi + esi*4 + 0x25], edx
add esi, dword [edx]
fbstp tbyte [esp + eax*2]
retf 0x1636