Function at 0x49e513
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 0x49e530
cmp dword [ebx + 0x2c], 0
jne 0x49e535
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x49e53d
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.0049acf3
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x49e593
push 0x660558
call fcn.0049d3d3
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 0x49e6d1
cmp eax, 0x3c
je 0x49e5cb
cmp eax, 0xffffffff
jne 0x49e6da
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x49e5db
cmp edi, 0xffffffff
jne 0x49e5e9
push dword [ebp + 8]
call fcn.0049c753
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.0049bb03
add esp, 4
test eax, eax
je 0x49e6c0
mov eax, edi
sub eax, 1
je 0x49e66e
sub eax, 1
je 0x49e652
sub eax, 1
jne 0x49e6c0
cmp dword [ebx + 0x44], esi
je 0x49ecc0
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 0x49e6c0
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.0049d3d3
add esp, 0xc
jmp 0x49edff
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.0049fdf3
add esp, 0xc
test eax, eax
jmp 0x49e6ba
cmp dword [ebx + 0x2e8], esi
je 0x49e6a5
push dword [ebp + 8]
call fcn.0049bd83
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x49e6a8
cmp dword [edi + 0x18], esi
jne 0x49e6a8
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.0049e263
add esp, 8
test eax, eax
jmp 0x49e6ba
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.0049e203
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49ecd2
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 0x49edd1
cmp eax, 0x3c
jne 0x49ec81
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x49e80c
nop word [eax + eax]
push esi
call fcn.0049cd23
add esp, 4
test eax, eax
jne 0x49e80c
cmp esi, 0x3e
je 0x49e80c
cmp esi, 0x2f
jne 0x49e72d
cmp edi, dword [ebp + 8]
ja 0x49e80c
jmp 0x49e78d
cmp esi, 0x3c
je 0x49ecea
cmp esi, 0x26
jne 0x49e775
push dword [ebp - 8]
push ebx
call fcn.0049f2c3
add esp, 8
cmp eax, 0xffffffff
je 0x49edff
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.0049e3f3
add esp, 0x10
test eax, eax
je 0x49edff
mov edi, dword [ebp - 4]
jmp 0x49e7f5
cmp esi, 0x30
jge 0x49e78d
cmp esi, 0x21
je 0x49e78d
cmp esi, 0x2d
je 0x49e78d
cmp esi, 0x2e
jne 0x49edff
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.0049e3f3
add esp, 0x10
test eax, eax
je 0x49edff
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x49e7be
cmp byte [ecx], 0x3f
je 0x49e80c
cmp eax, 3
jne 0x49e7d9
push eax
push 0x660610
push ecx
call 0x69b263
add esp, 0xc
test eax, eax
je 0x49e80c
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x49e7f5
push eax
push 0x6602cc
push ecx
call 0x69b263
add esp, 0x4c
and al, 0xec
and al, 0x80
mov esi, 0x443384fe
je 0x49e84d
invalid
mov byte [0xe5d48764], al
sub esp, dword [ebx + 0x1a]
test byte [edi + edx + 0x52e39d50], ah
ljmp 0x8083
add ch, dl
fiadd word [edx]
and eax, 0x65293e43
xor edx, esi
out 0xf4, eax
invalid
mov esp, 0x68d9a1b9
lds eax, [ebx + 0x77]
pop ss
pop eax
add dword [eax + eax*8 - 0x57], edx
jp 0x49ecb8
test eax, 0x123347a
and eax, dword [ecx]
sal dword [eax], 1
mov al, byte [ebx + edx*4]
mov dl, 0x42
iretd
shl dword [ecx], cl
fsub dword [ecx]
arpl word [esp - 0x364e1d49], bp
loop 0x49ec73
leave
js 0x49ed16
lodsb al, byte [esi]
stc
aaa
sbb eax, 0x737d45f4
test eax, 0x303686e3
lds esi, [ecx]
retf
invalid
fimul dword [edx]
dec eax
push ebp
jbe 0x49ecc6
imul ebx, dword [esi], 0x67
pop ebx
mov edi, 0xa02c72b2
and dl, 0x1c
cmp bl, ch
xchg esp, eax
loope 0x49ed19
sub al, 0x41
aad 0xcd
cmpsd dword [esi], dword es:[edi]
stosd dword es:[edi], eax
popfd
inc ecx
inc ebx
xor cl, byte [eax]
fiadd dword [edi - 0x3abb1ffd]
xchg byte gs:[ebx], dh
mov esi, 0x8fb0b374
xchg ebx, eax
aaa
loopne 0x49eda0
invalid
push ecx
sbb al, 0x36
adc al, 0x78
dec eax
mov fs, word [esi + eax*4 - 0xd739e58]
add al, 0x9b
out 0xfa, al
cli
lea esp, [edi]
div dword [edx - 0x4b79d97]
mov cl, 0xa9
inc eax
rcr dword [edx - 0x2f01abbf], 1
inc edx
in eax, 0xe5
jno 0x49ed7a
fpatan
ret
repz ret
adc al, 0xcb
add eax, 0xfc352522
adc byte [edx + edx - 0x1f], dh
mov dl, 0x43
fistp qword [edx + 0x49]
test eax, 0x8d4e39c3
mov gs, word [ebp - 0x10]
imul edx, dword [ebx + 0x2d], 0x1b
and dword [edx], esp
out dx, eax
loop 0x49ee01
imul eax, dword [0xcd604ae], 0x2a
cmpsb byte [esi], byte es:[edi]
jp 0x49ee62
jb 0x49ee53
cmp bh, ah
les ebp, [edx - 0x7b8df1e6]
out 0xc4, eax
stosb byte es:[edi], al
sbb cl, byte [esi]
jb 0x49ed8a
and eax, 0xcb678a17
xor edx, dword [ebp + ecx*2 - 0x31]
jl 0x49ee40
add byte [ebp - 0x45], bh
cmp al, 5
dec ebp
mov cl, 0x5a
insd dword es:[edi], dx
pop esp
mul byte [edx + 0x23f77e84]
out dx, eax
xchg edx, eax
xchg esp, eax
mov al, byte [0xf715ac81]
invalid
add byte [edx + 0x34871bde], al
xor dword [ecx + 0x2e], 0x24
push ebx
out dx, al
clc
insb byte es:[edi], dx
invalid
xor al, 0x79
cmp dh, byte [eax]
add al, 0x18
invalid
mov ch, 0x75
xor byte [edx + 0x33f41544], bh
cdq
add al, 0x7b
invalid