Function at 0x4af120
Capabilities:
Check for software breakpoints
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 8
push ebx
push esi
xor ebx, ebx
push edi
cmp edx, 0xd2
jg 0x4b0167
je 0x4b0148
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0x4b1a6a.30118
movzx eax, byte [eax + 0x4b1cb8]
jmp dword [eax*4 + 0x4b1b6c]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8e0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa60], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa98]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffd
and ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xbfffffff
and ecx, 0x40000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfdffffff
and ecx, 0x2000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
pop edi
mov edx, dword [eax]
mov eax, dword [esi + 0xa94]
neg edx
mov ecx, dword [esi + 0xaec]
sbb edx, edx
and eax, 0xfff7ffff
and edx, 0x80000
or edx, eax
mov eax, ecx
and eax, 0xffffffef
mov dword [esi + 0xa94], edx
or ecx, 0x10
and edx, 0x80000
cmove ecx, eax
mov eax, ebx
mov dword [esi + 0xaec], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xefffffff
and ecx, 0x10000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffefffff
and ecx, 0x100000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xdfffffff
and ecx, 0x20000000
or ecx, eax
mov dword [edx + 0xa94], ecx
test ecx, 0x20000000
je 0x4af33b
and ecx, 0xefffffff
mov eax, 5
pop edi
mov dword [edx + 0xa94], ecx
mov dword [edx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
mov dword [edx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffdff
and ecx, 0x200
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
cmp eax, 0x20c49b
jg 0x4b1b38
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x648], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x650], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 2
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x918], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 3
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x81c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
cdq
mov dword [ecx + 0x820], eax
mov eax, ebx
mov dword [ecx + 0x824], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xf7ffffff
and ecx, 0x8000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xff7fffff
and ecx, 0x800000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffbfffff
and ecx, 0x400000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5c4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
and ecx, 7
pop edi
pop esi
mov dword [eax + 0x5c8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
cmp dword [eax], ebx
je 0x4af58a
and dword [ecx + 0xa94], 0xefffffff
mov eax, 2
pop edi
mov dword [ecx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
mov dword [ecx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cdq
mov edi, eax
mov ecx, edx
mov dword [ebp + 0xc], ecx
cmp ecx, 0xffffffff
jl 0x4b1b38
jg 0x4af5bf
cmp edi, 0xffffffff
jb 0x4b1b38
mov esi, dword [ebp + 8]
cmp dword [esi + 0x5dc], ecx
jg 0x4af5f8
jl 0x4af5d4
cmp dword [esi + 0x5d8], edi
jae 0x4af5f8
mov eax, dword [esi + 0x5cc]
lea edx, [esi + 0xa28]
cmp eax, dword [edx]
jne 0x4af5f8
push 0
push edx
call fcn.004af0b0
mov ecx, dword [ebp + 0xc]
add esp, 8
mov dword [esi + 0x5cc], ebx
mov dword [esi + 0x5d8], edi
mov eax, ebx
pop edi
mov dword [esi + 0x5dc], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je case.0x4af155.91
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa94], 0xcfffffff
mov dword [eax + 0x828], 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 3
jl 0x4af67f
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x82c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x4af6ac
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b4], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xcec]
and eax, 4
xor dword [esi + 0xcec], eax
test dl, 0x10
je 0x4af6d4
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop dword [eax]
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x4af6fd
cmp ecx, 0x1f
jl 0x4af6e0
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5b4], edx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 0xffff
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x59c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x4af780
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b8], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xcfc]
and eax, 4
xor dword [esi + 0xcfc], eax
test dl, 0x10
je 0x4af7a8
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop dword [eax]
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x4af7cd
cmp ecx, 0x1f
jl 0x4af7b0
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5b8], edx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 7
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8dc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, 0
je 0x4af82d
sub eax, 1
jne case.0x4b1a6a.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
or dword [eax + 0xa98], 0x100
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa98], 0xfffffeff
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffdff
and ecx, 0x200
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffdfff
and ecx, 0x2000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 3
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x900], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffff7fff
and ecx, 0x8000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 2
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x908], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 2
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x904], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, 0
je 0x4afa41
sub eax, 1
je 0x4afa2b
sub eax, 1
jne case.0x4b1a6a.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], 2
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x4b1b38
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x658], eax
mov eax, ebx
mov dword [ecx + 0x65c], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x660], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x664], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 0xffff
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
cmp eax, 0x20c49b
jg 0x4b1b38
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x638], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x638], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
cmp eax, 0x20c49b
jg 0x4b1b38
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x63c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x63c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x4b1b38
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x678], eax
mov eax, ebx
mov dword [ecx + 0x67c], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
push 0
lea eax, [esi + 0x9d8]
push eax
call fcn.004af0b0
push esi
call fcn.004bacb0
add esp, 0xc
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffffbf
and ecx, 0x40
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
cmp eax, 0xffff
jg 0x4b1b38
push eax
call fcn.004c27a0
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov word [ecx + 0x5e0], ax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
cmp eax, 0xffff
jg 0x4b1b38
push eax
call fcn.004c2790
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov dword [ecx + 0x5e4], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 8]
cmp dword [eax], edx
mov eax, dword [ecx + 0x854]
setne dl
and eax, 0xfffffffe
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x4af155.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 1
xor dword [ecx + 0x26c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
and al, 3
movzx edx, al
mov eax, dword [ecx + 0x854]
neg edx
sbb edx, edx
and eax, 0xfffffffd
and edx, 2
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x4af155.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 2
xor dword [ecx + 0x26c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 2
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0x880]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
cmp esi, 0x80000
jle 0x4afd32
mov esi, 0x80000
jmp 0x4afd48
cmp esi, 1
jge 0x4afd3e
mov esi, 0x4000
jmp 0x4afd48
mov eax, 0x400
cmp esi, eax
cmovl esi, eax
mov edi, dword [ebp + 8]
cmp esi, dword [edi + 0x8e4]
je 0x4afd84
lea eax, [esi + 1]
push eax
push dword [edi + 0xc64]
call dword [0x548028]
add esp, 8
test eax, eax
jne 0x4afd7e
mov dword [edi + 0x8e4], esi
mov ebx, 0x1b
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0xc64], eax
mov dword [edi + 0x8e4], esi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x4b1b38
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x8f8], eax
mov eax, ebx
mov dword [ecx + 0x8fc], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 3
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x91c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 2
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8f4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffffef
and ecx, 0x10
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0x854]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, dword [edx + 0x8a8]
xor eax, ecx
mov dword [edx + 0x854], ecx
and eax, 8
xor dword [edx + 0x8a8], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
mov esi, 0x40
pop edi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa98]
cmove ecx, esi
and eax, 0xffffffbf
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
mov esi, pe_nt_image_headers32
pop edi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa98]
cmove ecx, esi
and eax, 0xffffff7f
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 0x1ff
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x920], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
cmp ecx, 0x1ff
jg 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x924], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa2c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa30], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
dec eax
cmp eax, 0xa
ja case.default.0x4affeb
jmp dword [eax*4 + 0x4b1d88]
mov eax, dword [ebp + 8]
mov ecx, 1
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 2
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 3
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 4
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 5
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 6
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 7
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 8
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 9
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 0xa
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 0xb
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
xor ecx, ecx
pop edi
pop esi
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xf48], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa54], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x2711
jg 0x4b06ca
je 0x4b06b3
lea eax, [edx - 0xd4]
cmp eax, 0x4c
ja case.0x4b1a6a.30118
movzx eax, byte [eax + 0x4b1e30]
jmp dword [eax*4 + 0x4b1db4]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffdfffff
and ecx, 0x200000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x20
mov eax, 0x884
mov ecx, 0x830
cmovne ecx, eax
mov eax, dword [ebp + 0x10]
add ecx, dword [ebp + 8]
mov eax, dword [eax]
movzx edx, ax
and eax, 0xffff0000
cmp edx, 8
jae 0x4b1b38
cmp eax, 0x7ffff
ja 0x4b1b38
pop edi
mov dword [ecx + 4], eax
mov eax, ebx
pop esi
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
movzx eax, byte [eax]
shl eax, 4
xor eax, dword [ecx + 0xa94]
and eax, 0x10
xor dword [ecx + 0xa94], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa64], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
cmp edx, 1
jg 0x4b1b38
mov ecx, dword [ebp + 8]
neg edx
pop edi
sbb edx, edx
and edx, 0x4000000
mov eax, dword [ecx + 0xa98]
and eax, 0xfbffffff
or edx, eax
mov eax, ebx
pop esi
mov dword [ecx + 0xa98], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ebx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5bc], ebx
and ebx, 0xfffffffa
neg ebx
sbb ebx, ebx
and ebx, 4
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x640], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffdfffff
and ecx, 0x200000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 8]
cmp dword [eax], edx
mov eax, dword [ecx + 0x8a8]
setne dl
and eax, 0xfffffffe
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x4af155.91
mov eax, dword [ecx + 0x294]
xor eax, edx
and eax, 1
xor dword [ecx + 0x294], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
and al, 3
movzx edx, al
mov eax, dword [ecx + 0x8a8]
neg edx
sbb edx, edx
and eax, 0xfffffffd
and edx, 2
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x4af155.91
mov eax, dword [ecx + 0x294]
xor eax, edx
and eax, 2
xor dword [ecx + 0x294], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004ba460
test al, al
jne 0x4b03bb
pop edi
mov ebx, 4
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ecx + 0x854]
neg edx
sbb edx, edx
and eax, 0xfffffffb
and edx, 4
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x4af155.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 4
xor dword [ecx + 0x26c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004ba770
test al, al
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0x880]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffd
and ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0x200000
jle 0x4b0445
mov eax, 0x200000
jmp 0x4b044f
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov esi, dword [ebp + 8]
push dword [esi + 0xc68]
mov dword [esi + 0x8e8], eax
call dword [0x548024]
add esp, 4
mov dword [esi + 0xc68], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
movzx ecx, al
and eax, 2
and ecx, 1
or ecx, eax
mov eax, dword [edx + 0x880]
and eax, 0xfffffff3
shl ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
movzx ecx, al
and eax, 2
and ecx, 1
or ecx, eax
mov eax, dword [edx + 0x8d4]
and eax, 0xfffffff3
shl ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x8d4], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa58], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa5c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x644], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfff7ffff
and ecx, 0x80000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xff7fffff
and ecx, 0x800000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa7c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x64c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5a0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x27fb
jg 0x4b1420
je case.0x4b06f5.10179
add edx, 0xffffd8ee
cmp edx, 0xe4
ja case.0x4b1a6a.30118
movzx eax, byte [edx + 0x4b1fb0]
jmp dword [eax*4 + 0x4b1e80]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ac
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9bc
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x97c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x4b07c2
cmp byte [eax], bl
jne 0x4b07c2
call fcn.004c39b0
mov esi, eax
test esi, esi
jne 0x4b079e
pop edi
mov ebx, 0x1b
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
add eax, 0x950
push esi
push eax
call fcn.004af0b0
push esi
mov ebx, eax
call dword [0x548024]
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
mov eax, dword [ebp + 8]
add eax, 0x950
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x4b087c
mov edi, dword [esi + 0x5d8]
mov eax, edi
mov edx, dword [esi + 0x5dc]
and eax, edx
cmp eax, 0xffffffff
je 0x4b087c
test edx, edx
ja 0x4b0850
jb 0x4b0810
cmp edi, 0xffffffff
ja 0x4b0850
lea eax, [esi + 0xa28]
push 0
push eax
call fcn.004af0b0
mov ecx, dword [esi + 0x5d8]
add esp, 8
mov edx, dword [esi + 0x5dc]
mov eax, ecx
or eax, edx
je 0x4b0838
mov dword [ebp - 4], edx
jmp 0x4b0840
mov ecx, 1
mov dword [ebp - 4], ebx
push ecx
call dword [0x548020]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b0857
mov ebx, 0x1b
jmp 0x4b088e
mov ecx, dword [esi + 0x5d8]
mov eax, ecx
or eax, dword [esi + 0x5dc]
je 0x4b0874
push ecx
push dword [ebp + 0xc]
push edi
call fcn.004f3ce0
add esp, 0xc
mov dword [esi + 0xa28], edi
jmp 0x4b088e
push ecx
lea eax, [esi + 0xa28]
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0xa28]
pop edi
mov dword [esi + 0x5cc], eax
mov eax, ebx
mov dword [esi + 0x828], 2
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0
mov eax, dword [eax]
mov dword [esi + 0x5cc], eax
lea eax, [esi + 0xa28]
push eax
call fcn.004af0b0
add esp, 8
mov dword [esi + 0x828], 2
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov eax, dword [eax]
and dword [ecx + 0xa94], 0xefffffff
mov dword [ecx + 0x688], eax
mov eax, ebx
mov dword [ecx + 0x828], 3
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
test byte [edi + 0xab0], 2
je 0x4b0932
push dword [edi + 0xaa4]
call dword [0x548024]
add esp, 4
mov dword [edi + 0xaa4], ebx
and dword [edi + 0xab0], 0xfffffffd
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x98c]
push dword [eax]
push esi
call fcn.004af0b0
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xaa4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c4
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x680], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x684], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x8f0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x93c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je case.0x4af155.91
mov esi, dword [ebp + 8]
push eax
push dword [esi + 0xaa8]
call fcn.004aec70
add esp, 8
test eax, eax
jne 0x4b0a1f
push dword [esi + 0xaa8]
call fcn.004aecb0
add esp, 4
mov dword [esi + 0xaa8], ebx
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0xaa8], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push dword [eax]
lea eax, [esi + 0x940]
push eax
call fcn.004af0b0
mov ebx, eax
mov eax, dword [esi + 0xa94]
shr eax, 5
and al, 1
movzx eax, al
push eax
push dword [esi + 0xab4]
push 0
push esi
call fcn.004b5ff0
add esp, 0x18
mov dword [esi + 0xab4], eax
test eax, eax
mov ecx, 0x1b
cmove ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
test edi, edi
je case.0x4af155.91
push 0x5014ac
push edi
call fcn.004c3780
add esp, 8
test eax, eax
je 0x4b0ac8
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.004c3cd0
push dword [esi + 0xab4]
call fcn.004b5d90
push 2
push esi
call fcn.004c3d10
add esp, 0x18
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.SESS
push edi
call fcn.004c3780
add esp, 8
test eax, eax
je 0x4b0b06
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.004c3cd0
push dword [esi + 0xab4]
call fcn.004b5dd0
push 2
push esi
call fcn.004c3d10
add esp, 0x18
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.FLUSH
push edi
call fcn.004c3780
add esp, 8
test eax, eax
je 0x4b0b2e
push 0
push dword [ebp + 8]
call fcn.004b6280
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.RELOAD
push edi
call fcn.004c3780
add esp, 8
test eax, eax
je 0x4b0b54
push dword [ebp + 8]
call fcn.004b61f0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
cmp dword [esi + 0xab4], ebx
jne 0x4b0b74
push 1
push 0
push 0
push esi
call fcn.004b5ff0
add esp, 0x10
mov dword [esi + 0xab4], eax
push edi
call dword [0x54802c]
mov edi, eax
add esp, 4
test edi, edi
je 0x4b0beb
cmp dword [esi + 0xab4], ebx
je 0x4b0beb
push 2
push 2
push esi
call fcn.004c3cd0
push 0xb
push edi
push str.Set_Cookie:
call fcn.004c38d0
add esp, 0x18
test eax, eax
je 0x4b0bb3
mov byte [ebp + 0xc], 1
lea eax, [edi + 0xb]
jmp 0x4b0bb8
mov byte [ebp + 0xc], bl
mov eax, edi
push 1
push 0
push 0
push eax
push 0
push dword [ebp + 0xc]
push dword [esi + 0xab4]
push esi
call fcn.004b5010
push 2
push esi
call fcn.004c3d10
push edi
call dword [0x548024]
add esp, 0x2c
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov ebx, 0x1b
call dword [0x548024]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x944
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x980
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5a8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x598], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0x95c]
push esi
call fcn.004af0b0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa94]
sbb ecx, ecx
and eax, 0xffffbfff
and ecx, 0x4000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa94], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x954
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x958
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0x978]
push esi
call fcn.004af0b0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa94]
sbb ecx, ecx
and eax, 0x7fffffff
and ecx, 0x80000000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa94], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5a4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
test byte [edi + 0xab0], 1
je 0x4b0d6e
push dword [edi + 0xaa0]
call dword [0x548024]
add esp, 4
mov dword [edi + 0xaa0], ebx
and dword [edi + 0xab0], 0xfffffffe
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x990]
push dword [eax]
push esi
call fcn.004af0b0
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xaa0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x9e0]
push eax
lea eax, [ecx + 0x9dc]
push eax
mov eax, dword [ebp + 0x10]
push dword [eax]
call fcn.004b2340
add esp, 0xc
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9dc
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e4
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa10
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x7fc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x800], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x7f8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x814], ecx
mov dword [eax + 0xaac], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x630], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x9ec]
push eax
lea eax, [ecx + 0x9e8]
jmp 0x4b0da5
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e8
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ec
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x988
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x594], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esi + 0x590], eax
test eax, eax
jne case.0x4af155.91
push 2
call dword [0x500858]
add esp, 4
mov dword [esi + 0x590], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x620], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x634], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x92c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x934
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x960
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x970
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x968
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
test esi, esi
je case.0x4af155.91
cmp byte [esi], bl
je case.0x4af155.91
mov edi, dword [ebp + 8]
push esi
lea eax, [edi + 0x9d8]
push eax
call fcn.004af0b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.0x4af155.91
push esi
push edi
call fcn.004baca0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x94c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 8
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x868], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 4
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a4
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x99c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 1
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x994
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c8
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9d0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x810], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
cmp dword [esi + 0x80], ebx
je 0x4b1215
push 2
push 1
push esi
call fcn.004c3cd0
add esp, 0xc
cmp dword [esi + 0x74], 2
jne 0x4b11d5
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov ecx, dword [esi + 0x80]
mov eax, dword [ecx + 0x68]
cmp eax, dword [esi + 0xab4]
jne 0x4b11ec
mov dword [esi + 0xab4], ebx
mov eax, dword [ecx + 0x6c]
cmp eax, dword [esi + 0xc80]
jne 0x4b11fd
mov dword [esi + 0xc80], ebx
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x80]
dec ecx
push 1
push esi
mov dword [eax + 4], ecx
call fcn.004c3d10
add esp, 8
mov dword [esi + 0x80], edi
test edi, edi
je case.0x4af155.91
push 2
push 1
push esi
call fcn.004c3cd0
mov eax, dword [esi + 0x80]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x80]
inc ecx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x80]
test byte [ecx], 8
je 0x4b125b
lea eax, [ecx + 0x50]
mov dword [esi + 0x74], 2
mov dword [esi + 0x70], eax
cmp dword [ecx + 0x68], ebx
je 0x4b127d
push dword [esi + 0xab4]
call fcn.004b5d40
mov ecx, dword [esi + 0x80]
add esp, 4
mov eax, dword [ecx + 0x68]
mov dword [esi + 0xab4], eax
cmp dword [ecx + 0x6c], ebx
je 0x4b129a
mov eax, dword [ecx + 0x70]
mov dword [esi + 0x8d8], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0xc80], eax
push 1
push esi
call fcn.004c3d10
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x8ec], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x614], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x61c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa08
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa0c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa38], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f4
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f8
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9fc
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5ac], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xfcc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa50], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa00
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4e2b
jg 0x4b17b8
je 0x4b1771
add edx, 0xffffd804
cmp edx, 0x35
ja case.0x4b1a6a.30118
movzx eax, byte [edx + 0x4b20fc]
jmp dword [eax*4 + 0x4b2098]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004bad20
test al, al
je case.0x4b1448.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b4
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004bad20
test al, al
je case.0x4b1448.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b8
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa14
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0
push dword [eax]
lea eax, [esi + 0x690]
push eax
call fcn.004b7f30
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne case.0x4af155.91
and dword [esi + 0xa94], 0xefffffff
pop edi
mov dword [esi + 0x828], 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x984
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa04
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa88], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x930
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x938
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x964
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x974
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x96c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 4
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a8
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a0
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 1
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x998
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9cc
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa78], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x948
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa1c
push eax
call fcn.004af0b0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x818], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0xa18]
push esi
call fcn.004af0b0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa98]
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa98], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa94]
mov dword [edx + 0x5e8], eax
test eax, eax
jne 0x4b17a6
mov eax, dword [0x50081c]
and ecx, 0xfffffffd
pop edi
mov dword [edx + 0x5e8], eax
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or ecx, 2
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4f30
jg 0x4b19f0
je 0x4b19d9
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x4b1a6a.30118
movzx eax, byte [edx + 0x4b2180]
jmp dword [eax*4 + 0x4b2134]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [eax]
mov dword [esi + 0x5f8], edx
mov ecx, dword [esi + 0xc3c]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 1
test edx, edx
pop edi
cmove ecx, eax
mov eax, ebx
mov dword [esi + 0xc3c], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [eax]
mov dword [esi + 0x5fc], edx
jmp 0x4b17f8
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x600], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5ec], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa94]
mov dword [edx + 0x5f4], eax
test eax, eax
jne 0x4b188d
mov eax, dword [0x50086c]
and ecx, 0xfffffffe
pop edi
mov dword [edx + 0x5f4], eax
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or ecx, 1
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5d0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x624], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x628], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x62c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x604], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x54803c]
test byte [eax + 8], 8
je case.0x4b018f.244
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x864], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x608], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x610], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x618], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5f0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa44], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa48], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa74], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x75a3
jg 0x4b1a51
je 0x4b1a1d
cmp edx, 0x4f3b
jne case.0x4b1a6a.30118
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa90], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jl 0x4b1b38
jg 0x4b1a39
cmp ecx, 0xffffffff
jb 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x658], ecx
mov dword [eax + 0x65c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
add edx, 0xffff8a5c
cmp edx, 0x9a
ja case.0x4b1a6a.30118
movzx eax, byte [edx + 0x4b226c]
jmp dword [eax*4 + 0x4b2250]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [edx]
mov dword [ecx + 0x820], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x824], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
jmp 0x4af5a8
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jl 0x4b1b38
jg 0x4b1ab8
test ecx, ecx
jb 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x668], ecx
mov dword [eax + 0x66c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jl 0x4b1b38
jg 0x4b1ae2
test ecx, ecx
jb 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x670], ecx
mov dword [eax + 0x674], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jl 0x4b1b38
jg 0x4b1b0e
cmp ecx, 0xffffffff
jb 0x4b1b38
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x678], ecx
mov dword [eax + 0x67c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x4b1b44
jl 0x4b1b38
test ecx, ecx
jae 0x4b1b44
pop edi
pop esi
mov eax, 0x2b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8f8], ecx
mov dword [eax + 0x8fc], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x30
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret