436ea8:	72 10                	jb     0x436eba
436eaa:	8b 50 fc             	mov    -0x4(%eax),%edx
436ead:	83 c1 23             	add    $0x23,%ecx
436eb0:	2b c2                	sub    %edx,%eax
436eb2:	83 c0 fc             	add    $0xfffffffc,%eax
436eb5:	83 f8 1f             	cmp    $0x1f,%eax
436eb8:	77 31                	ja     0x436eeb
436eba:	51                   	push   %ecx
436ebb:	52                   	push   %edx
436ebc:	e8 47 2b 03 00       	call   0x469a08
436ec1:	83 c4 08             	add    $0x8,%esp
436ec4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
436ec7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
436ece:	59                   	pop    %ecx
436ecf:	5f                   	pop    %edi
436ed0:	5e                   	pop    %esi
436ed1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
436ed4:	33 cd                	xor    %ebp,%ecx
436ed6:	e8 ef 2a 03 00       	call   0x4699ca
436edb:	8b e5                	mov    %ebp,%esp
436edd:	5d                   	pop    %ebp
436ede:	c2 10 00             	ret    $0x10
436ee1:	e8 4b 27 04 00       	call   0x479631
436ee6:	e8 c5 37 fd ff       	call   0x40a6b0
436eeb:	e8 41 27 04 00       	call   0x479631
436ef0:	cc                   	int3
436ef1:	cc                   	int3
436ef2:	cc                   	int3
436ef3:	cc                   	int3
436ef4:	cc                   	int3
436ef5:	cc                   	int3
436ef6:	cc                   	int3
436ef7:	cc                   	int3
436ef8:	cc                   	int3
436ef9:	cc                   	int3
436efa:	cc                   	int3
436efb:	cc                   	int3
436efc:	cc                   	int3
436efd:	cc                   	int3
436efe:	cc                   	int3
436eff:	cc                   	int3
436f00:	55                   	push   %ebp
436f01:	8b ec                	mov    %esp,%ebp
436f03:	6a ff                	push   $0xffffffff
436f05:	68 d5 9f 49 00       	push   $0x499fd5
436f0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
436f10:	50                   	push   %eax
436f11:	81 ec a8 00 00 00    	sub    $0xa8,%esp
436f17:	a1 14 40 4c 00       	mov    0x4c4014,%eax
436f1c:	33 c5                	xor    %ebp,%eax
436f1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
436f21:	56                   	push   %esi
436f22:	57                   	push   %edi
436f23:	50                   	push   %eax
436f24:	8d 45 f4             	lea    -0xc(%ebp),%eax
436f27:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
436f2d:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
436f33:	8b 75 08             	mov    0x8(%ebp),%esi
436f36:	8b d6                	mov    %esi,%edx
436f38:	8b 45 0c             	mov    0xc(%ebp),%eax
436f3b:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
436f41:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
436f48:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
436f4f:	8d 4a 02             	lea    0x2(%edx),%ecx
436f52:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
436f59:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
436f60:	66 8b 02             	mov    (%edx),%ax
436f63:	83 c2 02             	add    $0x2,%edx
436f66:	66 85 c0             	test   %ax,%ax
436f69:	75 f5                	jne    0x436f60
436f6b:	2b d1                	sub    %ecx,%edx
436f6d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436f70:	d1 fa                	sar    $1,%edx
436f72:	52                   	push   %edx
436f73:	56                   	push   %esi
436f74:	e8 e7 b0 fc ff       	call   0x402060
436f79:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
436f80:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436f83:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
436f87:	8d 75 d8             	lea    -0x28(%ebp),%esi
436f8a:	8b 55 d8             	mov    -0x28(%ebp),%edx
436f8d:	8d 7d d8             	lea    -0x28(%ebp),%edi
436f90:	8b 45 e8             	mov    -0x18(%ebp),%eax
436f93:	0f 43 ca             	cmovae %edx,%ecx
436f96:	0f 43 f2             	cmovae %edx,%esi
436f99:	0f 43 fa             	cmovae %edx,%edi
436f9c:	8d 04 41             	lea    (%ecx,%eax,2),%eax
436f9f:	89 45 88             	mov    %eax,-0x78(%ebp)
436fa2:	3b f0                	cmp    %eax,%esi
436fa4:	74 22                	je     0x436fc8
436fa6:	2b fe                	sub    %esi,%edi
436fa8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
436faf:	00
436fb0:	0f b7 06             	movzwl (%esi),%eax
436fb3:	50                   	push   %eax
436fb4:	e8 d8 2c 04 00       	call   0x479c91
436fb9:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
436fbd:	83 c4 04             	add    $0x4,%esp
436fc0:	83 c6 02             	add    $0x2,%esi
436fc3:	3b 75 88             	cmp    -0x78(%ebp),%esi
436fc6:	75 e8                	jne    0x436fb0
436fc8:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
436fce:	8b b0 00 01 00 00    	mov    0x100(%eax),%esi
436fd4:	3b b0 04 01 00 00    	cmp    0x104(%eax),%esi
436fda:	0f 84 13 04 00 00    	je     0x4373f3
436fe0:	56                   	push   %esi
436fe1:	8d 4d 90             	lea    -0x70(%ebp),%ecx
436fe4:	e8 87 c5 fc ff       	call   0x403570
436fe9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
436fed:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
436ff2:	8b 4d a0             	mov    -0x60(%ebp),%ecx
436ff5:	2b c1                	sub    %ecx,%eax
436ff7:	83 f8 01             	cmp    $0x1,%eax
436ffa:	0f 82 4b 04 00 00    	jb     0x43744b
437000:	83 7d a4 08          	cmpl   $0x8,-0x5c(%ebp)
437004:	8d 45 90             	lea    -0x70(%ebp),%eax
437007:	6a 01                	push   $0x1
437009:	0f 43 45 90          	cmovae -0x70(%ebp),%eax
43700d:	68 c4 51 4b 00       	push   $0x4b51c4
437012:	51                   	push   %ecx
437013:	50                   	push   %eax
437014:	51                   	push   %ecx
437015:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
43701b:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43701e:	e8 7d c1 fc ff       	call   0x4031a0
437023:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
437027:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
43702c:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43702f:	2b c1                	sub    %ecx,%eax
437031:	83 f8 02             	cmp    $0x2,%eax
437034:	0f 82 11 04 00 00    	jb     0x43744b
43703a:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
43703e:	8d 45 c0             	lea    -0x40(%ebp),%eax
437041:	51                   	push   %ecx
437042:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
437046:	50                   	push   %eax
437047:	6a 02                	push   $0x2
437049:	68 d8 51 4b 00       	push   $0x4b51d8
43704e:	51                   	push   %ecx
43704f:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
437055:	8d 4d a8             	lea    -0x58(%ebp),%ecx
437058:	e8 43 c1 fc ff       	call   0x4031a0
43705d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
437061:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
437066:	8b 4d d0             	mov    -0x30(%ebp),%ecx
437069:	2b c1                	sub    %ecx,%eax
43706b:	83 f8 01             	cmp    $0x1,%eax
43706e:	0f 82 d7 03 00 00    	jb     0x43744b
437074:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
437078:	8d 45 c0             	lea    -0x40(%ebp),%eax
43707b:	51                   	push   %ecx
43707c:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
437080:	50                   	push   %eax
437081:	6a 01                	push   $0x1
437083:	68 d4 51 4b 00       	push   $0x4b51d4
437088:	51                   	push   %ecx
437089:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
43708f:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
437095:	e8 06 c1 fc ff       	call   0x4031a0
43709a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
43709d:	83 f9 08             	cmp    $0x8,%ecx
4370a0:	72 32                	jb     0x4370d4
4370a2:	8b 55 c0             	mov    -0x40(%ebp),%edx
4370a5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4370ac:	8b c2                	mov    %edx,%eax
4370ae:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4370b4:	72 14                	jb     0x4370ca
4370b6:	8b 50 fc             	mov    -0x4(%eax),%edx
4370b9:	83 c1 23             	add    $0x23,%ecx
4370bc:	2b c2                	sub    %edx,%eax
4370be:	83 c0 fc             	add    $0xfffffffc,%eax
4370c1:	83 f8 1f             	cmp    $0x1f,%eax
4370c4:	0f 87 7c 03 00 00    	ja     0x437446
4370ca:	51                   	push   %ecx
4370cb:	52                   	push   %edx
4370cc:	e8 37 29 03 00       	call   0x469a08
4370d1:	83 c4 08             	add    $0x8,%esp
4370d4:	0f 10 8d 4c ff ff ff 	movups -0xb4(%ebp),%xmm1
4370db:	83 bd 60 ff ff ff 08 	cmpl   $0x8,-0xa0(%ebp)
4370e2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4370e5:	8b 7d e8             	mov    -0x18(%ebp),%edi
4370e8:	8d 55 d8             	lea    -0x28(%ebp),%edx
4370eb:	f3 0f 7e 85 5c ff ff 	movq   -0xa4(%ebp),%xmm0
4370f2:	ff
4370f3:	0f 93 45 86          	setae  -0x7a(%ebp)
4370f7:	66 0f 7e c8          	movd   %xmm1,%eax
4370fb:	0f 11 4d c0          	movups %xmm1,-0x40(%ebp)
4370ff:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
437105:	0f 43 c8             	cmovae %eax,%ecx
437108:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
43710e:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
437112:	8b 45 a8             	mov    -0x58(%ebp),%eax
437115:	0f 43 55 d8          	cmovae -0x28(%ebp),%edx
437119:	0f 93 45 87          	setae  -0x79(%ebp)
43711d:	66 0f d6 45 d0       	movq   %xmm0,-0x30(%ebp)
437122:	89 4d 80             	mov    %ecx,-0x80(%ebp)
437125:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
43712b:	89 45 8c             	mov    %eax,-0x74(%ebp)
43712e:	39 bd 5c ff ff ff    	cmp    %edi,-0xa4(%ebp)
437134:	0f 87 e7 01 00 00    	ja     0x437321
43713a:	8b c7                	mov    %edi,%eax
43713c:	2b 85 5c ff ff ff    	sub    -0xa4(%ebp),%eax
437142:	83 bd 5c ff ff ff 00 	cmpl   $0x0,-0xa4(%ebp)
437149:	75 0a                	jne    0x437155
43714b:	33 d2                	xor    %edx,%edx
43714d:	89 55 88             	mov    %edx,-0x78(%ebp)
437150:	e9 89 00 00 00       	jmp    0x4371de
437155:	40                   	inc    %eax
437156:	8d 04 42             	lea    (%edx,%eax,2),%eax
437159:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
43715f:	90                   	nop
437160:	2b c2                	sub    %edx,%eax
437162:	d1 f8                	sar    $1,%eax
437164:	0f 84 b4 01 00 00    	je     0x43731e
43716a:	0f b7 09             	movzwl (%ecx),%ecx
43716d:	0f 1f 00             	nopl   (%eax)
437170:	66 39 0a             	cmp    %cx,(%edx)
437173:	74 0d                	je     0x437182
437175:	83 c2 02             	add    $0x2,%edx
437178:	83 e8 01             	sub    $0x1,%eax
43717b:	75 f3                	jne    0x437170
43717d:	e9 9c 01 00 00       	jmp    0x43731e
437182:	85 d2                	test   %edx,%edx
437184:	0f 84 94 01 00 00    	je     0x43731e
43718a:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
437190:	8b 4d 80             	mov    -0x80(%ebp),%ecx
437193:	85 ff                	test   %edi,%edi
437195:	74 2d                	je     0x4371c4
437197:	8b c2                	mov    %edx,%eax
437199:	2b c1                	sub    %ecx,%eax
43719b:	89 45 88             	mov    %eax,-0x78(%ebp)
43719e:	66 90                	xchg   %ax,%ax
4371a0:	66 8b 04 01          	mov    (%ecx,%eax,1),%ax
4371a4:	66 3b 01             	cmp    (%ecx),%ax
4371a7:	75 0d                	jne    0x4371b6
4371a9:	83 c1 02             	add    $0x2,%ecx
4371ac:	83 ef 01             	sub    $0x1,%edi
4371af:	74 13                	je     0x4371c4
4371b1:	8b 45 88             	mov    -0x78(%ebp),%eax
4371b4:	eb ea                	jmp    0x4371a0
4371b6:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4371b9:	83 c2 02             	add    $0x2,%edx
4371bc:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4371c2:	eb 9c                	jmp    0x437160
4371c4:	2b 95 74 ff ff ff    	sub    -0x8c(%ebp),%edx
4371ca:	d1 fa                	sar    $1,%edx
4371cc:	89 55 88             	mov    %edx,-0x78(%ebp)
4371cf:	83 fa ff             	cmp    $0xffffffff,%edx
4371d2:	0f 84 46 01 00 00    	je     0x43731e
4371d8:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
4371de:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
4371e2:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4371e5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4371e8:	0f 43 4d 8c          	cmovae -0x74(%ebp),%ecx
4371ec:	80 7d 87 00          	cmpb   $0x0,-0x79(%ebp)
4371f0:	89 4d 80             	mov    %ecx,-0x80(%ebp)
4371f3:	0f 45 45 d8          	cmovne -0x28(%ebp),%eax
4371f7:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4371fd:	8b 45 b8             	mov    -0x48(%ebp),%eax
437200:	3b c7                	cmp    %edi,%eax
437202:	0f 87 16 01 00 00    	ja     0x43731e
437208:	2b f8                	sub    %eax,%edi
43720a:	85 c0                	test   %eax,%eax
43720c:	75 07                	jne    0x437215
43720e:	33 ff                	xor    %edi,%edi
437210:	e9 97 00 00 00       	jmp    0x4372ac
437215:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
43721b:	8d 04 78             	lea    (%eax,%edi,2),%eax
43721e:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
437224:	83 c0 02             	add    $0x2,%eax
437227:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
43722d:	0f 1f 00             	nopl   (%eax)
437230:	2b c7                	sub    %edi,%eax
437232:	d1 f8                	sar    $1,%eax
437234:	0f 84 e4 00 00 00    	je     0x43731e
43723a:	0f b7 09             	movzwl (%ecx),%ecx
43723d:	0f 1f 00             	nopl   (%eax)
437240:	66 39 0f             	cmp    %cx,(%edi)
437243:	74 0d                	je     0x437252
437245:	83 c7 02             	add    $0x2,%edi
437248:	83 e8 01             	sub    $0x1,%eax
43724b:	75 f3                	jne    0x437240
43724d:	e9 cc 00 00 00       	jmp    0x43731e
437252:	85 ff                	test   %edi,%edi
437254:	0f 84 c4 00 00 00    	je     0x43731e
43725a:	8b 45 b8             	mov    -0x48(%ebp),%eax
43725d:	8b 4d 80             	mov    -0x80(%ebp),%ecx
437260:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
437266:	85 c0                	test   %eax,%eax
437268:	74 35                	je     0x43729f
43726a:	8b c7                	mov    %edi,%eax
43726c:	2b c1                	sub    %ecx,%eax
43726e:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
437274:	66 8b 04 01          	mov    (%ecx,%eax,1),%ax
437278:	66 3b 01             	cmp    (%ecx),%ax
43727b:	75 14                	jne    0x437291
43727d:	83 c1 02             	add    $0x2,%ecx
437280:	83 ad 78 ff ff ff 01 	subl   $0x1,-0x88(%ebp)
437287:	74 16                	je     0x43729f
437289:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
43728f:	eb e3                	jmp    0x437274
437291:	8b 4d 80             	mov    -0x80(%ebp),%ecx
437294:	83 c7 02             	add    $0x2,%edi
437297:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
43729d:	eb 91                	jmp    0x437230
43729f:	2b bd 74 ff ff ff    	sub    -0x8c(%ebp),%edi
4372a5:	d1 ff                	sar    $1,%edi
4372a7:	83 ff ff             	cmp    $0xffffffff,%edi
4372aa:	74 72                	je     0x43731e
4372ac:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
4372b2:	8d 04 11             	lea    (%ecx,%edx,1),%eax
4372b5:	3b c7                	cmp    %edi,%eax
4372b7:	74 65                	je     0x43731e
4372b9:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4372bf:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
4372c5:	50                   	push   %eax
4372c6:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4372cc:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4372d2:	50                   	push   %eax
4372d3:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4372d9:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
4372df:	50                   	push   %eax
4372e0:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4372e6:	e8 b5 f9 ff ff       	call   0x436ca0
4372eb:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4372f1:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
4372f7:	8b 45 88             	mov    -0x78(%ebp),%eax
4372fa:	89 45 88             	mov    %eax,-0x78(%ebp)
4372fd:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
437303:	50                   	push   %eax
437304:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43730a:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
437310:	50                   	push   %eax
437311:	8d 45 88             	lea    -0x78(%ebp),%eax
437314:	50                   	push   %eax
437315:	8d 45 d8             	lea    -0x28(%ebp),%eax
437318:	50                   	push   %eax
437319:	e8 82 f9 ff ff       	call   0x436ca0
43731e:	8b 45 8c             	mov    -0x74(%ebp),%eax
437321:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
437325:	8b 4d bc             	mov    -0x44(%ebp),%ecx
437328:	83 f9 08             	cmp    $0x8,%ecx
43732b:	72 32                	jb     0x43735f
43732d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
437334:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
43733a:	72 16                	jb     0x437352
43733c:	8b 50 fc             	mov    -0x4(%eax),%edx
43733f:	83 c1 23             	add    $0x23,%ecx
437342:	2b c2                	sub    %edx,%eax
437344:	83 c0 fc             	add    $0xfffffffc,%eax