Function at 0x49e511
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 0x49e52e
cmp dword [ebx + 0x2c], 0
jne 0x49e533
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x49e53b
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.0049acf1
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x49e591
push 0x660558
call fcn.0049d3d1
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 0x49e6cf
cmp eax, 0x3c
je 0x49e5c9
cmp eax, 0xffffffff
jne 0x49e6d8
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x49e5d9
cmp edi, 0xffffffff
jne 0x49e5e7
push dword [ebp + 8]
call fcn.0049c751
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.0049bb01
add esp, 4
test eax, eax
je 0x49e6be
mov eax, edi
sub eax, 1
je 0x49e66c
sub eax, 1
je 0x49e650
sub eax, 1
jne 0x49e6be
cmp dword [ebx + 0x44], esi
je 0x49ecbe
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 0x49e6be
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.0049d3d1
add esp, 0xc
jmp 0x49edfd
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.0049fdf1
add esp, 0xc
test eax, eax
jmp 0x49e6b8
cmp dword [ebx + 0x2e8], esi
je 0x49e6a3
push dword [ebp + 8]
call fcn.0049bd81
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x49e6a6
cmp dword [edi + 0x18], esi
jne 0x49e6a6
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.0049e261
add esp, 8
test eax, eax
jmp 0x49e6b8
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.0049e201
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49ecd0
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 0x49edcf
cmp eax, 0x3c
jne 0x49ec7f
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x49e80a
nop word [eax + eax]
push esi
call fcn.0049cd21
add esp, 4
test eax, eax
jne 0x49e80a
cmp esi, 0x3e
je 0x49e80a
cmp esi, 0x2f
jne 0x49e72b
cmp edi, dword [ebp + 8]
ja 0x49e80a
jmp 0x49e78b
cmp esi, 0x3c
je 0x49ece8
cmp esi, 0x26
jne 0x49e773
push dword [ebp - 8]
push ebx
call fcn.0049f2c1
add esp, 8
cmp eax, 0xffffffff
je 0x49edfd
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.0049e3f1
add esp, 0x10
test eax, eax
je 0x49edfd
mov edi, dword [ebp - 4]
jmp 0x49e7f3
cmp esi, 0x30
jge 0x49e78b
cmp esi, 0x21
je 0x49e78b
cmp esi, 0x2d
je 0x49e78b
cmp esi, 0x2e
jne 0x49edfd
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.0049e3f1
add esp, 0x10
test eax, eax
je 0x49edfd
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x49e7bc
cmp byte [ecx], 0x3f
je 0x49e80a
cmp eax, 3
jne 0x49e7d7
push eax
push 0x660610
push ecx
call 0x69b261
add esp, 0xc
test eax, eax
je 0x49e80a
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x49e7f3
push eax
push 0x6602cc
push ecx
call 0x69b261
add esp, 0xc
test dword [esi], eax
or al, 0x85
push es
pop esp
cmpsb byte [esi], byte es:[edi]
pop esp
retf 0xb4c6
scasd eax, dword es:[edi]
and al, 0xe8
sbb al, 0xcd
lodsb al, byte [esi]
scasd eax, dword es:[edi]
push ebx
sub dword [edx - 0x32], esp
fcomp qword [ebp + 0x28]
xlatb
wait
sbb byte [edx - 0x13e537c8], dl
leave
clc
add dword [ecx], 0xfffffff6
fsub st(1), st(0)
in al, dx
sub eax, 0x12b999b
movsb byte es:[edi], byte [esi]
xor dword [ebx + eax*2 - 0x3aa71c16], ecx
stosb byte es:[edi], al
add byte [esi - 0x38], ah
or eax, 0xbc3b2a08
and byte [esi], 0x6a
pushfd
mov esp, 0xfccda0c8
cld
fisttp qword [eax + 0x79]
lodsd eax, dword [esi]
dec ebp
js 0x49e7ee
cmpsb byte [esi], byte es:[edi]
dec eax
pop ebp
or dword [esi + 0x63], eax
sbb eax, 0x8cadae79
lea ebx, [eax]
lodsb al, byte [esi]
cmp eax, 0xd8080d38
pop ebx
xor esp, ebx
scasb al, byte es:[edi]
and al, 0xf8
clc
dec eax
mov eax, 0x192eddad
scasb al, byte es:[edi]
cmc
into
or byte [esi + 0x54], 0x44
push edx
mov edi, 0x4ae27042
sbb ax, 0x607b
invalid
sub al, 0x8a
sal dword [eax], 1
dec esp
imul edi, dword [ecx - 0x65], 0xd97cc048
retf 0xb708
lodsd eax, dword [esi]
xchg ebx, eax
push edi
sbb dword [ecx], edx
sbb cl, byte [ecx + esi*2]
xor byte [ecx], 0x63
mov dh, 0x9c
xchg ecx, eax
pushfd
mov dword [ecx - 0x6da6667c], ecx
pop ecx
sub esp, edx
outsb dx, byte [esi]
iretd
cmp ecx, edx
test eax, 0x8f487cfe
dec ecx
adc dword [ebx], 0x1991556f
sub byte [ebx + edi], dh
invalid
jl 0x49ed1a
invalid
add byte [edx], 0xba
sub al, 0x88
ficom dword [edi]
sub eax, 0x181eb448
pushal
jl 0x49ed64
insd dword es:[edi], dx
xlatb
push ecx
int1
fbld tbyte [0x372182ec]
int 0x81
push 0xffffffffffffffe8
adc bl, byte [edi]
jae 0x49eccc
pop eax
jp 0x49eca5
scasd eax, dword es:[edi]
lodsb al, byte [esi]
js 0x49ed05
stosd dword es:[edi], eax
mov ebp, 0x441bc2b9
nop
jb 0x49ed1b
sub eax, 0x6621d23c
sub eax, 0x38caf523
push esp
ljmp 0xde93
cmp al, 0xd2
and dword [esi + 0x2d], esp
and esi, ebp
shl byte [ecx], cl
sub ax, 0xf523
retf 0x5438
inc ebp
lodsd eax, dword [esi]
sbb edx, esp
xchg edx, eax
loop 0x49ede6
std
and cl, dh
shr bl, cl
invalid
leave
jecxz 0x49edce
wait
loop 0x49eda4
sub al, 0xb4
test al, 8
popfd
scasd eax, dword es:[edi]
or dword [ebx + 0x8e9898b], edx
sub al, 0xd4
or byte [esp + edx*8], ch
popal
mov word [edi + 2], cs
popfd
hlt
inc eax
pushfd
sub dword [ecx + eax*4 + 0x7d], ebp
push 0x5a847f5d
or al, 0x58
cdq
clc
cmp edx, dword [ebp - 0x762efcfe]
inc ecx
add al, 0xf5
les edx, [0x551913ba]
push ecx
pop ecx
push 0x2177a897
jge 0x49edd9
jl 0x49ed93
je 0x49ee59
fidiv word [eax]
push ds
cmp byte [0xd28e9f72], ch
sub eax, 0xd28e9f72
push eax
jbe 0x49ee3d
cld
outsd dx, dword [esi]
outsd dx, dword [esi]
rcr byte [edi], 0x81
dec ebx
push ds
xor eax, 0x78650485
aaa
ret
xchg ecx, eax
sub dword [edi + 0x6394fa4a], esi
int 0x4c
leave
or dword [esp + ebx*2 + 0x19], esp
xchg esi, eax
mov dl, 0x14
lds edx, [ecx]
pop esp
sbb dword [esi + 0x11c514b2], edx
pop ebx
loope 0x49eeb8
dec esp
xor eax, dword [edx + 0x7a]
jl 0x49eeab
mov byte [esp + ebp], al
mov byte [0xcc663686], al
das
int 0x3f
dec eax
invalid
lock sub bh, byte [ebp + 0x726dd13d]
shr dh, 9
and al, 0x69
lcall 0x3b76, 0x484bf7f1
cdq
jge 0x49ee48
int1
test dword [ebx + 0x48], 0x7d993b76
xchg dword [esi - 0x22269f1a], eax
xchg dh, ah
pushal
fstpnce st(5), st(0)
in al, dx
mov edx, 0xa036128d
inc ebp
xchg edx, eax
push ss
dec eax
dec ebx
je 0x49ef29
pop esp
xlatb
jb 0x49ef0c
invalid
mov word [ebp - 0x4f3295f0], ds
retf 0x4eab
mov word [edx + 0x51621df2], fs
mov esp, 0xa971041a
push 0x33
lodsd eax, dword [esi]
push ebx
scasb al, byte es:[edi]
inc edi
or dl, byte [ebx - 0x4d]
adc dword [edi + 0x4e], ecx
cmp dword [ebp - 0x1e09cc45], edi
loop 0x49ef5c
mov byte [ecx + edx*4 - 0x43651e64], cl
pop edi
in al, 0xfd
or ebx, ebp
ljmp 0xb34a
cmp dword [edx - 0x3704d8dc], ebp
clc
in al, dx
cli
retf