513e0c:	50                   	push   %eax
513e0d:	89 45 f4             	mov    %eax,-0xc(%ebp)
513e10:	e8 7b 9e 02 00       	call   0x53dc90
513e15:	6a 00                	push   $0x0
513e17:	ff 75 e0             	push   -0x20(%ebp)
513e1a:	89 45 ec             	mov    %eax,-0x14(%ebp)
513e1d:	ff 75 e8             	push   -0x18(%ebp)
513e20:	ff 75 f4             	push   -0xc(%ebp)
513e23:	ff 33                	push   (%ebx)
513e25:	e8 f6 40 01 00       	call   0x527f20
513e2a:	8b d0                	mov    %eax,%edx
513e2c:	83 c4 18             	add    $0x18,%esp
513e2f:	89 55 0c             	mov    %edx,0xc(%ebp)
513e32:	85 d2                	test   %edx,%edx
513e34:	75 34                	jne    0x513e6a
513e36:	50                   	push   %eax
513e37:	ff 75 e0             	push   -0x20(%ebp)
513e3a:	6a fe                	push   $0xfffffffe
513e3c:	ff 75 f4             	push   -0xc(%ebp)
513e3f:	ff 33                	push   (%ebx)
513e41:	e8 da 40 01 00       	call   0x527f20
513e46:	8b c8                	mov    %eax,%ecx
513e48:	83 c4 14             	add    $0x14,%esp
513e4b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
513e4e:	85 c9                	test   %ecx,%ecx
513e50:	75 0c                	jne    0x513e5e
513e52:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
513e59:	e9 4b 01 00 00       	jmp    0x513fa9
513e5e:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
513e65:	e9 3f 01 00 00       	jmp    0x513fa9
513e6a:	33 c0                	xor    %eax,%eax
513e6c:	39 42 14             	cmp    %eax,0x14(%edx)
513e6f:	0f 95 c0             	setne  %al
513e72:	f7 42 04 00 04 00 00 	testl  $0x400,0x4(%edx)
513e79:	89 45 fc             	mov    %eax,-0x4(%ebp)
513e7c:	74 36                	je     0x513eb4
513e7e:	81 4e 04 00 00 04 00 	orl    $0x40000,0x4(%esi)
513e85:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
513e89:	75 6a                	jne    0x513ef5
513e8b:	8b 45 d8             	mov    -0x28(%ebp),%eax
513e8e:	ff 70 18             	push   0x18(%eax)
513e91:	e8 5a d6 fe ff       	call   0x5014f0
513e96:	83 c4 04             	add    $0x4,%esp
513e99:	89 46 1c             	mov    %eax,0x1c(%esi)
513e9c:	85 c0                	test   %eax,%eax
513e9e:	79 11                	jns    0x513eb1
513ea0:	68 80 8d 6b 00       	push   $0x6b8d80
513ea5:	53                   	push   %ebx
513ea6:	e8 b5 f3 00 00       	call   0x523260
513eab:	83 c4 08             	add    $0x8,%esp
513eae:	ff 47 14             	incl   0x14(%edi)
513eb1:	8b 55 0c             	mov    0xc(%ebp),%edx
513eb4:	6a 00                	push   $0x0
513eb6:	ff 72 20             	push   0x20(%edx)
513eb9:	6a 00                	push   $0x0
513ebb:	6a 1f                	push   $0x1f
513ebd:	53                   	push   %ebx
513ebe:	e8 dd 58 00 00       	call   0x5197a0
513ec3:	83 c4 14             	add    $0x14,%esp
513ec6:	85 c0                	test   %eax,%eax
513ec8:	74 46                	je     0x513f10
513eca:	83 f8 01             	cmp    $0x1,%eax
513ecd:	75 17                	jne    0x513ee6
513ecf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
513ed2:	ff 71 20             	push   0x20(%ecx)
513ed5:	68 c8 8d 6b 00       	push   $0x6b8dc8
513eda:	53                   	push   %ebx
513edb:	e8 80 f3 00 00       	call   0x523260
513ee0:	83 c4 0c             	add    $0xc,%esp
513ee3:	ff 47 14             	incl   0x14(%edi)
513ee6:	5f                   	pop    %edi
513ee7:	c6 06 77             	movb   $0x77,(%esi)
513eea:	b8 01 00 00 00       	mov    $0x1,%eax
513eef:	5e                   	pop    %esi
513ef0:	5b                   	pop    %ebx
513ef1:	8b e5                	mov    %ebp,%esp
513ef3:	5d                   	pop    %ebp
513ef4:	c3                   	ret
513ef5:	8b 42 20             	mov    0x20(%edx),%eax
513ef8:	b9 00 00 80 07       	mov    $0x7800000,%ecx
513efd:	c7 45 e0 00 00 80 00 	movl   $0x800000,-0x20(%ebp)
513f04:	80 38 75             	cmpb   $0x75,(%eax)
513f07:	0f 44 4d e0          	cmove  -0x20(%ebp),%ecx
513f0b:	89 4e 1c             	mov    %ecx,0x1c(%esi)
513f0e:	eb a4                	jmp    0x513eb4
513f10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
513f13:	f7 41 04 00 28 00 00 	testl  $0x2800,0x4(%ecx)
513f1a:	74 07                	je     0x513f23
513f1c:	81 4e 04 00 00 08 00 	orl    $0x80000,0x4(%esi)
513f23:	f7 41 04 00 08 00 00 	testl  $0x800,0x4(%ecx)
513f2a:	75 1e                	jne    0x513f4a
513f2c:	8b 45 f8             	mov    -0x8(%ebp),%eax
513f2f:	f6 00 2a             	testb  $0x2a,(%eax)
513f32:	74 2f                	je     0x513f63
513f34:	6a 00                	push   $0x0
513f36:	68 ec 8d 6b 00       	push   $0x6b8dec
513f3b:	57                   	push   %edi
513f3c:	53                   	push   %ebx
513f3d:	e8 ae 79 ff ff       	call   0x50b8f0
513f42:	8b 4d 0c             	mov    0xc(%ebp),%ecx
513f45:	83 c4 10             	add    $0x10,%esp
513f48:	eb 19                	jmp    0x513f63
513f4a:	8b 55 f8             	mov    -0x8(%ebp),%edx
513f4d:	8a 02                	mov    (%edx),%al
513f4f:	24 2e                	and    $0x2e,%al
513f51:	88 46 02             	mov    %al,0x2(%esi)
513f54:	f7 02 00 00 04 00    	testl  $0x40000,(%edx)
513f5a:	74 07                	je     0x513f63
513f5c:	81 4e 04 00 00 00 40 	orl    $0x40000000,0x4(%esi)
513f63:	8b 51 04             	mov    0x4(%ecx),%edx
513f66:	f7 c2 00 00 04 00    	test   $0x40000,%edx
513f6c:	74 1c                	je     0x513f8a
513f6e:	80 7b 12 00          	cmpb   $0x0,0x12(%ebx)
513f72:	75 16                	jne    0x513f8a
513f74:	8b 03                	mov    (%ebx),%eax
513f76:	f6 40 18 20          	testb  $0x20,0x18(%eax)
513f7a:	75 0e                	jne    0x513f8a
513f7c:	33 c9                	xor    %ecx,%ecx
513f7e:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
513f85:	89 4d 0c             	mov    %ecx,0xc(%ebp)
513f88:	eb 1f                	jmp    0x513fa9
513f8a:	f7 c2 00 00 28 00    	test   $0x280000,%edx
513f90:	74 17                	je     0x513fa9
513f92:	80 bb c8 00 00 00 02 	cmpb   $0x2,0xc8(%ebx)
513f99:	73 0e                	jae    0x513fa9
513f9b:	51                   	push   %ecx
513f9c:	56                   	push   %esi
513f9d:	53                   	push   %ebx
513f9e:	e8 5d 2a 01 00       	call   0x526a00
513fa3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
513fa6:	83 c4 0c             	add    $0xc,%esp
513fa9:	80 bb c8 00 00 00 02 	cmpb   $0x2,0xc8(%ebx)
513fb0:	ba 01 00 00 00       	mov    $0x1,%edx
513fb5:	0f 83 08 01 00 00    	jae    0x5140c3
513fbb:	8b 45 f0             	mov    -0x10(%ebp),%eax
513fbe:	85 c9                	test   %ecx,%ecx
513fc0:	74 1a                	je     0x513fdc
513fc2:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
513fc6:	75 14                	jne    0x513fdc
513fc8:	85 c0                	test   %eax,%eax
513fca:	74 10                	je     0x513fdc
513fcc:	ff 75 f4             	push   -0xc(%ebp)
513fcf:	ff 75 ec             	push   -0x14(%ebp)
513fd2:	68 08 8e 6b 00       	push   $0x6b8e08
513fd7:	e9 99 00 00 00       	jmp    0x514075
513fdc:	8b 55 fc             	mov    -0x4(%ebp),%edx
513fdf:	85 d2                	test   %edx,%edx
513fe1:	74 63                	je     0x514046
513fe3:	8b 55 f8             	mov    -0x8(%ebp),%edx
513fe6:	8b 12                	mov    (%edx),%edx
513fe8:	f6 c2 01             	test   $0x1,%dl
513feb:	74 1b                	je     0x514008
513fed:	f7 41 04 00 00 01 00 	testl  $0x10000,0x4(%ecx)
513ff4:	74 06                	je     0x513ffc
513ff6:	85 c0                	test   %eax,%eax
513ff8:	74 0e                	je     0x514008
513ffa:	eb 04                	jmp    0x514000
513ffc:	85 c0                	test   %eax,%eax
513ffe:	74 43                	je     0x514043
514000:	f7 c2 00 40 00 00    	test   $0x4000,%edx
514006:	75 3b                	jne    0x514043
514008:	f7 41 04 00 00 01 00 	testl  $0x10000,0x4(%ecx)
51400f:	75 09                	jne    0x51401a
514011:	85 c0                	test   %eax,%eax
514013:	b8 3c 8e 6b 00       	mov    $0x6b8e3c,%eax
514018:	74 05                	je     0x51401f
51401a:	b8 34 8e 6b 00       	mov    $0x6b8e34,%eax
51401f:	ff 75 f4             	push   -0xc(%ebp)
514022:	ff 75 ec             	push   -0x14(%ebp)
514025:	50                   	push   %eax
514026:	68 48 8e 6b 00       	push   $0x6b8e48
51402b:	53                   	push   %ebx
51402c:	e8 2f f2 00 00       	call   0x523260
514031:	83 c4 14             	add    $0x14,%esp
514034:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
51403b:	ff 47 14             	incl   0x14(%edi)
51403e:	e9 90 00 00 00       	jmp    0x5140d3
514043:	8b 55 fc             	mov    -0x4(%ebp),%edx
514046:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
51404a:	74 18                	je     0x514064
51404c:	8b 03                	mov    (%ebx),%eax
51404e:	80 b8 a5 00 00 00 00 	cmpb   $0x0,0xa5(%eax)
514055:	75 0d                	jne    0x514064
514057:	ff 75 f4             	push   -0xc(%ebp)
51405a:	ff 75 ec             	push   -0x14(%ebp)
51405d:	68 68 8e 6b 00       	push   $0x6b8e68
514062:	eb 11                	jmp    0x514075
514064:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
514068:	74 33                	je     0x51409d
51406a:	ff 75 f4             	push   -0xc(%ebp)
51406d:	ff 75 ec             	push   -0x14(%ebp)
514070:	68 80 8e 6b 00       	push   $0x6b8e80
514075:	53                   	push   %ebx
514076:	e8 e5 f1 00 00       	call   0x523260
51407b:	ff 47 14             	incl   0x14(%edi)
51407e:	83 c4 10             	add    $0x10,%esp
514081:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
514085:	74 4c                	je     0x5140d3
514087:	8b 4d f0             	mov    -0x10(%ebp),%ecx
51408a:	33 c0                	xor    %eax,%eax
51408c:	85 c9                	test   %ecx,%ecx
51408e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
514091:	0f 95 c0             	setne  %al
514094:	05 fe bf ff ff       	add    $0xffffbffe,%eax
514099:	21 01                	and    %eax,(%ecx)
51409b:	eb 36                	jmp    0x5140d3
51409d:	85 d2                	test   %edx,%edx
51409f:	75 e6                	jne    0x514087
5140a1:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
5140a8:	74 29                	je     0x5140d3
5140aa:	ff 75 f4             	push   -0xc(%ebp)
5140ad:	ff 75 ec             	push   -0x14(%ebp)
5140b0:	68 b0 8e 6b 00       	push   $0x6b8eb0
5140b5:	53                   	push   %ebx
5140b6:	e8 a5 f1 00 00       	call   0x523260
5140bb:	83 c4 10             	add    $0x10,%esp
5140be:	ff 47 14             	incl   0x14(%edi)
5140c1:	eb 10                	jmp    0x5140d3
5140c3:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
5140ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5140cd:	0f 45 c2             	cmovne %edx,%eax
5140d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5140d3:	ff 75 d8             	push   -0x28(%ebp)
5140d6:	ff 75 08             	push   0x8(%ebp)
5140d9:	e8 c2 bc 03 00       	call   0x54fda0
5140de:	83 c4 08             	add    $0x8,%esp
5140e1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
5140e5:	0f 84 ef 00 00 00    	je     0x5141da
5140eb:	8b 45 f0             	mov    -0x10(%ebp),%eax
5140ee:	85 c0                	test   %eax,%eax
5140f0:	74 76                	je     0x514168
5140f2:	80 bb c8 00 00 00 02 	cmpb   $0x2,0xc8(%ebx)
5140f9:	8b 77 1c             	mov    0x1c(%edi),%esi
5140fc:	73 1a                	jae    0x514118
5140fe:	85 f6                	test   %esi,%esi
514100:	74 05                	je     0x514107
514102:	8b 56 48             	mov    0x48(%esi),%edx
514105:	eb 02                	jmp    0x514109
514107:	33 d2                	xor    %edx,%edx
514109:	8b 4d 0c             	mov    0xc(%ebp),%ecx
51410c:	51                   	push   %ecx
51410d:	50                   	push   %eax
51410e:	52                   	push   %edx
51410f:	53                   	push   %ebx
514110:	e8 3b 25 04 00       	call   0x556650
514115:	83 c4 10             	add    $0x10,%esp
514118:	8b 5d f0             	mov    -0x10(%ebp),%ebx
51411b:	8b 7d 08             	mov    0x8(%ebp),%edi
51411e:	ff 73 08             	push   0x8(%ebx)
514121:	57                   	push   %edi
514122:	e8 79 bc 03 00       	call   0x54fda0
514127:	ff 73 0c             	push   0xc(%ebx)
51412a:	57                   	push   %edi
51412b:	e8 70 bc 03 00       	call   0x54fda0
514130:	8b 43 28             	mov    0x28(%ebx),%eax
514133:	83 c4 10             	add    $0x10,%esp
514136:	85 c0                	test   %eax,%eax
514138:	74 0a                	je     0x514144
51413a:	50                   	push   %eax
51413b:	57                   	push   %edi
51413c:	e8 6f be 04 00       	call   0x55ffb0
514141:	83 c4 08             	add    $0x8,%esp
514144:	53                   	push   %ebx
514145:	56                   	push   %esi
514146:	e8 c5 1b 04 00       	call   0x555d10
51414b:	8b 45 f8             	mov    -0x8(%ebp),%eax
51414e:	83 c4 08             	add    $0x8,%esp
514151:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
514154:	81 08 00 80 00 00    	orl    $0x8000,(%eax)
51415a:	09 08                	or     %ecx,(%eax)
51415c:	b8 01 00 00 00       	mov    $0x1,%eax
514161:	5f                   	pop    %edi
514162:	5e                   	pop    %esi
514163:	5b                   	pop    %ebx
514164:	8b e5                	mov    %ebp,%esp
514166:	5d                   	pop    %ebp
514167:	c3                   	ret
514168:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
51416f:	c6 06 a5             	movb   $0xa5,(%esi)
514172:	c6 46 02 00          	movb   $0x0,0x2(%esi)
514176:	74 18                	je     0x514190
514178:	8b 46 2c             	mov    0x2c(%esi),%eax
51417b:	8b 40 28             	mov    0x28(%eax),%eax
51417e:	85 c0                	test   %eax,%eax
514180:	74 0e                	je     0x514190
514182:	50                   	push   %eax
514183:	ff 75 08             	push   0x8(%ebp)
514186:	e8 25 be 04 00       	call   0x55ffb0
51418b:	83 c4 08             	add    $0x8,%esp
51418e:	66 90                	xchg   %ax,%ax
514190:	ff 77 04             	push   0x4(%edi)
514193:	56                   	push   %esi
514194:	e8 97 62 01 00       	call   0x52a430
514199:	83 c4 08             	add    $0x8,%esp
51419c:	85 c0                	test   %eax,%eax
51419e:	75 1c                	jne    0x5141bc
5141a0:	fe 46 02             	incb   0x2(%esi)
5141a3:	8b 7f 0c             	mov    0xc(%edi),%edi
5141a6:	85 ff                	test   %edi,%edi
5141a8:	75 e6                	jne    0x514190
5141aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
5141ad:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5141b0:	09 08                	or     %ecx,(%eax)
5141b2:	8d 47 01             	lea    0x1(%edi),%eax
5141b5:	5f                   	pop    %edi
5141b6:	5e                   	pop    %esi
5141b7:	5b                   	pop    %ebx
5141b8:	8b e5                	mov    %ebp,%esp
5141ba:	5d                   	pop    %ebp
5141bb:	c3                   	ret
5141bc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5141bf:	85 c9                	test   %ecx,%ecx
5141c1:	74 0f                	je     0x5141d2
5141c3:	8b 49 04             	mov    0x4(%ecx),%ecx
5141c6:	81 e1 00 10 00 00    	and    $0x1000,%ecx
5141cc:	83 c9 10             	or     $0x10,%ecx
5141cf:	09 4f 18             	or     %ecx,0x18(%edi)
5141d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5141d5:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5141d8:	09 08                	or     %ecx,(%eax)
5141da:	5f                   	pop    %edi
5141db:	5e                   	pop    %esi
5141dc:	b8 01 00 00 00       	mov    $0x1,%eax
5141e1:	5b                   	pop    %ebx
5141e2:	8b e5                	mov    %ebp,%esp
5141e4:	5d                   	pop    %ebp
5141e5:	c3                   	ret
5141e6:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
5141ed:	0f 84 e8 00 00 00    	je     0x5142db
5141f3:	f6 47 18 2e          	testb  $0x2e,0x18(%edi)
5141f7:	8b 47 10             	mov    0x10(%edi),%eax
5141fa:	89 45 0c             	mov    %eax,0xc(%ebp)
5141fd:	74 13                	je     0x514212
5141ff:	56                   	push   %esi
514200:	68 e4 8e 6b 00       	push   $0x6b8ee4
514205:	57                   	push   %edi
514206:	53                   	push   %ebx
514207:	e8 e4 76 ff ff       	call   0x50b8f0
51420c:	8b 55 08             	mov    0x8(%ebp),%edx
51420f:	83 c4 10             	add    $0x10,%esp
514212:	ff 76 14             	push   0x14(%esi)
514215:	52                   	push   %edx
514216:	e8 d5 bb 03 00       	call   0x54fdf0
51421b:	8b 45 0c             	mov    0xc(%ebp),%eax
51421e:	83 c4 08             	add    $0x8,%esp
514221:	3b 47 10             	cmp    0x10(%edi),%eax
514224:	0f 84 b1 00 00 00    	je     0x5142db
51422a:	83 4e 04 20          	orl    $0x20,0x4(%esi)
51422e:	83 4f 18 40          	orl    $0x40,0x18(%edi)
514232:	e9 a4 00 00 00       	jmp    0x5142db