4ffd53:	c6 40 ff 01          	movb   $0x1,-0x1(%eax)
4ffd57:	e8 74 30 0d 00       	call   0x5d2dd0
4ffd5c:	56                   	push   %esi
4ffd5d:	53                   	push   %ebx
4ffd5e:	e8 ed 14 fe ff       	call   0x4e1250
4ffd63:	83 c4 20             	add    $0x20,%esp
4ffd66:	85 c0                	test   %eax,%eax
4ffd68:	0f 8e 1f 02 00 00    	jle    0x4fff8d
4ffd6e:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4ffd72:	6a 55                	push   $0x55
4ffd74:	2b fe                	sub    %esi,%edi
4ffd76:	68 58 9c 62 00       	push   $0x629c58
4ffd7b:	57                   	push   %edi
4ffd7c:	e8 cf 09 fe ff       	call   0x4e0750
4ffd81:	83 c4 0c             	add    $0xc,%esp
4ffd84:	89 44 24 18          	mov    %eax,0x18(%esp)
4ffd88:	85 c0                	test   %eax,%eax
4ffd8a:	75 1d                	jne    0x4ffda9
4ffd8c:	6a 57                	push   $0x57
4ffd8e:	68 58 9c 62 00       	push   $0x629c58
4ffd93:	6a 41                	push   $0x41
4ffd95:	68 9a 00 00 00       	push   $0x9a
4ffd9a:	6a 04                	push   $0x4
4ffd9c:	e8 df 91 fd ff       	call   0x4d8f80
4ffda1:	83 c4 14             	add    $0x14,%esp
4ffda4:	e9 e4 01 00 00       	jmp    0x4fff8d
4ffda9:	ff 74 24 30          	push   0x30(%esp)
4ffdad:	56                   	push   %esi
4ffdae:	53                   	push   %ebx
4ffdaf:	57                   	push   %edi
4ffdb0:	50                   	push   %eax
4ffdb1:	e8 ba fc ff ff       	call   0x4ffa70
4ffdb6:	83 c4 14             	add    $0x14,%esp
4ffdb9:	85 c0                	test   %eax,%eax
4ffdbb:	0f 88 cc 01 00 00    	js     0x4fff8d
4ffdc1:	33 db                	xor    %ebx,%ebx
4ffdc3:	85 ff                	test   %edi,%edi
4ffdc5:	0f 8e ce 00 00 00    	jle    0x4ffe99
4ffdcb:	83 ff 40             	cmp    $0x40,%edi
4ffdce:	0f 82 a6 00 00 00    	jb     0x4ffe7a
4ffdd4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4ffdd8:	8d 55 ff             	lea    -0x1(%ebp),%edx
4ffddb:	03 d7                	add    %edi,%edx
4ffddd:	8d 41 ff             	lea    -0x1(%ecx),%eax
4ffde0:	03 c7                	add    %edi,%eax
4ffde2:	3b e8                	cmp    %eax,%ebp
4ffde4:	77 08                	ja     0x4ffdee
4ffde6:	3b d1                	cmp    %ecx,%edx
4ffde8:	0f 83 8c 00 00 00    	jae    0x4ffe7a
4ffdee:	8b c7                	mov    %edi,%eax
4ffdf0:	25 3f 00 00 80       	and    $0x8000003f,%eax
4ffdf5:	79 05                	jns    0x4ffdfc
4ffdf7:	48                   	dec    %eax
4ffdf8:	83 c8 c0             	or     $0xffffffc0,%eax
4ffdfb:	40                   	inc    %eax
4ffdfc:	8b d7                	mov    %edi,%edx
4ffdfe:	2b d0                	sub    %eax,%edx
4ffe00:	8d 45 10             	lea    0x10(%ebp),%eax
4ffe03:	89 54 24 10          	mov    %edx,0x10(%esp)
4ffe07:	8d 51 30             	lea    0x30(%ecx),%edx
4ffe0a:	2b cd                	sub    %ebp,%ecx
4ffe0c:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4ffe10:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ffe14:	8b 74 24 20          	mov    0x20(%esp),%esi
4ffe18:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4ffe1f:	00
4ffe20:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
4ffe24:	83 c3 40             	add    $0x40,%ebx
4ffe27:	8d 52 40             	lea    0x40(%edx),%edx
4ffe2a:	8d 40 40             	lea    0x40(%eax),%eax
4ffe2d:	0f 10 4a 90          	movups -0x70(%edx),%xmm1
4ffe31:	66 0f ef c8          	pxor   %xmm0,%xmm1
4ffe35:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
4ffe39:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
4ffe3d:	0f 10 4c 06 c0       	movups -0x40(%esi,%eax,1),%xmm1
4ffe42:	66 0f ef c8          	pxor   %xmm0,%xmm1
4ffe46:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
4ffe4a:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
4ffe4e:	0f 10 4a b0          	movups -0x50(%edx),%xmm1
4ffe52:	66 0f ef c8          	pxor   %xmm0,%xmm1
4ffe56:	0f 10 42 c0          	movups -0x40(%edx),%xmm0
4ffe5a:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
4ffe5e:	0f 10 48 e0          	movups -0x20(%eax),%xmm1
4ffe62:	66 0f ef c8          	pxor   %xmm0,%xmm1
4ffe66:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
4ffe6a:	3b d9                	cmp    %ecx,%ebx
4ffe6c:	7c b2                	jl     0x4ffe20
4ffe6e:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4ffe72:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4ffe76:	3b df                	cmp    %edi,%ebx
4ffe78:	7d 1f                	jge    0x4ffe99
4ffe7a:	8b 74 24 18          	mov    0x18(%esp),%esi
4ffe7e:	8d 0c 2b             	lea    (%ebx,%ebp,1),%ecx
4ffe81:	8b d7                	mov    %edi,%edx
4ffe83:	2b f5                	sub    %ebp,%esi
4ffe85:	2b d3                	sub    %ebx,%edx
4ffe87:	8a 04 31             	mov    (%ecx,%esi,1),%al
4ffe8a:	8d 49 01             	lea    0x1(%ecx),%ecx
4ffe8d:	30 41 ff             	xor    %al,-0x1(%ecx)
4ffe90:	83 ea 01             	sub    $0x1,%edx
4ffe93:	75 f2                	jne    0x4ffe87
4ffe95:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4ffe99:	ff 74 24 30          	push   0x30(%esp)
4ffe9d:	8d 44 24 40          	lea    0x40(%esp),%eax
4ffea1:	57                   	push   %edi
4ffea2:	55                   	push   %ebp
4ffea3:	56                   	push   %esi
4ffea4:	50                   	push   %eax
4ffea5:	e8 c6 fb ff ff       	call   0x4ffa70
4ffeaa:	83 c4 14             	add    $0x14,%esp
4ffead:	85 c0                	test   %eax,%eax
4ffeaf:	0f 88 d8 00 00 00    	js     0x4fff8d
4ffeb5:	33 d2                	xor    %edx,%edx
4ffeb7:	85 f6                	test   %esi,%esi
4ffeb9:	0f 8e c6 00 00 00    	jle    0x4fff85
4ffebf:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4ffec3:	83 fe 40             	cmp    $0x40,%esi
4ffec6:	0f 82 a0 00 00 00    	jb     0x4fff6c
4ffecc:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4ffecf:	8d 44 34 3b          	lea    0x3b(%esp,%esi,1),%eax
4ffed3:	03 ce                	add    %esi,%ecx
4ffed5:	3b e8                	cmp    %eax,%ebp
4ffed7:	77 0c                	ja     0x4ffee5
4ffed9:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4ffedd:	3b c8                	cmp    %eax,%ecx
4ffedf:	0f 83 87 00 00 00    	jae    0x4fff6c
4ffee5:	8b c6                	mov    %esi,%eax
4ffee7:	25 3f 00 00 80       	and    $0x8000003f,%eax
4ffeec:	79 05                	jns    0x4ffef3
4ffeee:	48                   	dec    %eax
4ffeef:	83 c8 c0             	or     $0xffffffc0,%eax
4ffef2:	40                   	inc    %eax
4ffef3:	8b ce                	mov    %esi,%ecx
4ffef5:	8d 5c 24 3c          	lea    0x3c(%esp),%ebx
4ffef9:	2b c8                	sub    %eax,%ecx
4ffefb:	8d 74 24 4c          	lea    0x4c(%esp),%esi
4ffeff:	2b dd                	sub    %ebp,%ebx
4fff01:	8d 45 20             	lea    0x20(%ebp),%eax
4fff04:	2b f5                	sub    %ebp,%esi
4fff06:	89 74 24 10          	mov    %esi,0x10(%esp)
4fff0a:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4fff0e:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4fff12:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
4fff16:	8d 40 40             	lea    0x40(%eax),%eax
4fff19:	0f 10 4c 14 3c       	movups 0x3c(%esp,%edx,1),%xmm1
4fff1e:	66 0f ef c8          	pxor   %xmm0,%xmm1
4fff22:	0f 11 48 a0          	movups %xmm1,-0x60(%eax)
4fff26:	0f 10 40 b0          	movups -0x50(%eax),%xmm0
4fff2a:	0f 10 4c 14 4c       	movups 0x4c(%esp,%edx,1),%xmm1
4fff2f:	83 c2 40             	add    $0x40,%edx
4fff32:	66 0f ef c8          	pxor   %xmm0,%xmm1
4fff36:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
4fff3a:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
4fff3e:	0f 10 4c 03 c0       	movups -0x40(%ebx,%eax,1),%xmm1
4fff43:	66 0f ef c8          	pxor   %xmm0,%xmm1
4fff47:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
4fff4b:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
4fff4f:	0f 10 4c 28 c0       	movups -0x40(%eax,%ebp,1),%xmm1
4fff54:	66 0f ef c8          	pxor   %xmm0,%xmm1
4fff58:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
4fff5c:	3b d1                	cmp    %ecx,%edx
4fff5e:	7c b2                	jl     0x4fff12
4fff60:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4fff64:	89 54 24 10          	mov    %edx,0x10(%esp)
4fff68:	3b d6                	cmp    %esi,%edx
4fff6a:	7d 19                	jge    0x4fff85
4fff6c:	8d 5c 24 3c          	lea    0x3c(%esp),%ebx
4fff70:	2b dd                	sub    %ebp,%ebx
4fff72:	8d 0c 2a             	lea    (%edx,%ebp,1),%ecx
4fff75:	2b f2                	sub    %edx,%esi
4fff77:	8a 04 19             	mov    (%ecx,%ebx,1),%al
4fff7a:	8d 49 01             	lea    0x1(%ecx),%ecx
4fff7d:	30 41 ff             	xor    %al,-0x1(%ecx)
4fff80:	83 ee 01             	sub    $0x1,%esi
4fff83:	75 f2                	jne    0x4fff77
4fff85:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
4fff8c:	00
4fff8d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4fff91:	6a 40                	push   $0x40
4fff93:	50                   	push   %eax
4fff94:	e8 47 1a f0 ff       	call   0x4019e0
4fff99:	6a 68                	push   $0x68
4fff9b:	68 58 9c 62 00       	push   $0x629c58
4fffa0:	57                   	push   %edi
4fffa1:	ff 74 24 2c          	push   0x2c(%esp)
4fffa5:	e8 96 08 fe ff       	call   0x4e0840
4fffaa:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4fffb1:	83 c4 18             	add    $0x18,%esp
4fffb4:	8b 44 24 34          	mov    0x34(%esp),%eax
4fffb8:	5f                   	pop    %edi
4fffb9:	5e                   	pop    %esi
4fffba:	5d                   	pop    %ebp
4fffbb:	5b                   	pop    %ebx
4fffbc:	33 cc                	xor    %esp,%ecx
4fffbe:	e8 63 1a 0d 00       	call   0x5d1a26
4fffc3:	83 c4 70             	add    $0x70,%esp
4fffc6:	c3                   	ret
4fffc7:	cc                   	int3
4fffc8:	cc                   	int3
4fffc9:	cc                   	int3
4fffca:	cc                   	int3
4fffcb:	cc                   	int3
4fffcc:	cc                   	int3
4fffcd:	cc                   	int3
4fffce:	cc                   	int3
4fffcf:	cc                   	int3
4fffd0:	6a 00                	push   $0x0
4fffd2:	6a 00                	push   $0x0
4fffd4:	ff 74 24 24          	push   0x24(%esp)
4fffd8:	ff 74 24 24          	push   0x24(%esp)
4fffdc:	ff 74 24 24          	push   0x24(%esp)
4fffe0:	ff 74 24 24          	push   0x24(%esp)
4fffe4:	ff 74 24 24          	push   0x24(%esp)
4fffe8:	ff 74 24 24          	push   0x24(%esp)
4fffec:	ff 74 24 24          	push   0x24(%esp)
4ffff0:	e8 0b 00 00 00       	call   0x500000
4ffff5:	83 c4 24             	add    $0x24,%esp
4ffff8:	c3                   	ret
4ffff9:	cc                   	int3
4ffffa:	cc                   	int3
4ffffb:	cc                   	int3
4ffffc:	cc                   	int3
4ffffd:	cc                   	int3
4ffffe:	cc                   	int3
4fffff:	cc                   	int3
500000:	b8 c0 00 00 00       	mov    $0xc0,%eax
500005:	e8 a6 17 0d 00       	call   0x5d17b0
50000a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
50000f:	33 c4                	xor    %esp,%eax
500011:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
500018:	8b 84 24 c4 00 00 00 	mov    0xc4(%esp),%eax
50001f:	53                   	push   %ebx
500020:	55                   	push   %ebp
500021:	8b ac 24 ec 00 00 00 	mov    0xec(%esp),%ebp
500028:	33 db                	xor    %ebx,%ebx
50002a:	89 44 24 40          	mov    %eax,0x40(%esp)
50002e:	8b 84 24 dc 00 00 00 	mov    0xdc(%esp),%eax
500035:	89 44 24 38          	mov    %eax,0x38(%esp)
500039:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
500040:	56                   	push   %esi
500041:	57                   	push   %edi
500042:	89 44 24 1c          	mov    %eax,0x1c(%esp)
500046:	33 ff                	xor    %edi,%edi
500048:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
50004f:	89 44 24 34          	mov    %eax,0x34(%esp)
500053:	c7 44 24 38 ff ff ff 	movl   $0xffffffff,0x38(%esp)
50005a:	ff
50005b:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
500062:	00
500063:	85 c0                	test   %eax,%eax
500065:	75 09                	jne    0x500070
500067:	e8 a4 64 01 00       	call   0x516510
50006c:	89 44 24 34          	mov    %eax,0x34(%esp)
500070:	85 ed                	test   %ebp,%ebp
500072:	50                   	push   %eax
500073:	0f 44 e8             	cmove  %eax,%ebp
500076:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
50007a:	e8 41 08 ff ff       	call   0x4f08c0
50007f:	83 c4 04             	add    $0x4,%esp
500082:	8b e8                	mov    %eax,%ebp
500084:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
500088:	39 9c 24 d8 00 00 00 	cmp    %ebx,0xd8(%esp)
50008f:	0f 8e 03 06 00 00    	jle    0x500698
500095:	8b b4 24 e0 00 00 00 	mov    0xe0(%esp),%esi
50009c:	85 f6                	test   %esi,%esi
50009e:	0f 8e f4 05 00 00    	jle    0x500698
5000a4:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5000a8:	3b ce                	cmp    %esi,%ecx
5000aa:	0f 8c cd 05 00 00    	jl     0x50067d
5000b0:	8d 04 6d 02 00 00 00 	lea    0x2(,%ebp,2),%eax
5000b7:	3b c8                	cmp    %eax,%ecx
5000b9:	0f 8c be 05 00 00    	jl     0x50067d
5000bf:	2b cd                	sub    %ebp,%ecx
5000c1:	68 9d 00 00 00       	push   $0x9d
5000c6:	49                   	dec    %ecx
5000c7:	68 58 9c 62 00       	push   $0x629c58
5000cc:	51                   	push   %ecx
5000cd:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5000d1:	e8 7a 06 fe ff       	call   0x4e0750
5000d6:	83 c4 0c             	add    $0xc,%esp
5000d9:	89 44 24 14          	mov    %eax,0x14(%esp)
5000dd:	85 c0                	test   %eax,%eax
5000df:	75 24                	jne    0x500105
5000e1:	68 9f 00 00 00       	push   $0x9f
5000e6:	68 58 9c 62 00       	push   $0x629c58
5000eb:	6a 41                	push   $0x41
5000ed:	68 99 00 00 00       	push   $0x99
5000f2:	6a 04                	push   $0x4
5000f4:	e8 87 8e fd ff       	call   0x4d8f80
5000f9:	8b 74 24 38          	mov    0x38(%esp),%esi
5000fd:	83 c4 14             	add    $0x14,%esp
500100:	e9 26 05 00 00       	jmp    0x50062b
500105:	8b 7c 24 40          	mov    0x40(%esp),%edi
500109:	68 a3 00 00 00       	push   $0xa3
50010e:	68 58 9c 62 00       	push   $0x629c58
500113:	57                   	push   %edi
500114:	e8 37 06 fe ff       	call   0x4e0750
500119:	83 c4 0c             	add    $0xc,%esp
50011c:	89 44 24 20          	mov    %eax,0x20(%esp)
500120:	85 c0                	test   %eax,%eax
500122:	75 20                	jne    0x500144
500124:	68 a6 00 00 00       	push   $0xa6
500129:	68 58 9c 62 00       	push   $0x629c58
50012e:	6a 41                	push   $0x41
500130:	68 99 00 00 00       	push   $0x99
500135:	6a 04                	push   $0x4
500137:	e8 44 8e fd ff       	call   0x4d8f80
50013c:	83 c4 14             	add    $0x14,%esp
50013f:	e9 df 04 00 00       	jmp    0x500623
500144:	8b 5c 24 20          	mov    0x20(%esp),%ebx
500148:	8b 94 24 dc 00 00 00 	mov    0xdc(%esp),%edx
50014f:	03 df                	add    %edi,%ebx
500151:	03 d6                	add    %esi,%edx
500153:	89 5c 24 20          	mov    %ebx,0x20(%esp)
500157:	85 ff                	test   %edi,%edi
500159:	7e 2c                	jle    0x500187
50015b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
500160:	8b c6                	mov    %esi,%eax
500162:	8d 4e ff             	lea    -0x1(%esi),%ecx
500165:	f7 d0                	not    %eax
500167:	c1 e9 1f             	shr    $0x1f,%ecx
50016a:	c1 e8 1f             	shr    $0x1f,%eax
50016d:	4b                   	dec    %ebx
50016e:	23 c8                	and    %eax,%ecx
500170:	49                   	dec    %ecx
500171:	8b c1                	mov    %ecx,%eax
500173:	83 e0 01             	and    $0x1,%eax
500176:	2b d0                	sub    %eax,%edx
500178:	2b f0                	sub    %eax,%esi
50017a:	22 0a                	and    (%edx),%cl
50017c:	88 0b                	mov    %cl,(%ebx)
50017e:	83 ef 01             	sub    $0x1,%edi
500181:	75 dd                	jne    0x500160
500183:	89 5c 24 20          	mov    %ebx,0x20(%esp)
500187:	8b 44 24 20          	mov    0x20(%esp),%eax
50018b:	ff 74 24 28          	push   0x28(%esp)
50018f:	0f b6 1b             	movzbl (%ebx),%ebx
500192:	8b 74 24 28          	mov    0x28(%esp),%esi
500196:	8d 78 01             	lea    0x1(%eax),%edi
500199:	40                   	inc    %eax
50019a:	03 c5                	add    %ebp,%eax
50019c:	89 7c 24 14          	mov    %edi,0x14(%esp)
5001a0:	56                   	push   %esi
5001a1:	50                   	push   %eax
5001a2:	8d 5b ff             	lea    -0x1(%ebx),%ebx
5001a5:	89 44 24 48          	mov    %eax,0x48(%esp)
5001a9:	8d 44 24 58          	lea    0x58(%esp),%eax
5001ad:	c1 eb 1f             	shr    $0x1f,%ebx
5001b0:	55                   	push   %ebp
5001b1:	50                   	push   %eax