419fce:	39 3d a8 aa 46 00    	cmp    %edi,0x46aaa8
419fd4:	74 04                	je     0x419fda
419fd6:	85 c0                	test   %eax,%eax
419fd8:	79 45                	jns    0x41a01f
419fda:	8d 45 e0             	lea    -0x20(%ebp),%eax
419fdd:	50                   	push   %eax
419fde:	ff 35 90 aa 46 00    	push   0x46aa90
419fe4:	e8 5d 94 fe ff       	call   0x403446
419fe9:	8b f0                	mov    %eax,%esi
419feb:	85 f6                	test   %esi,%esi
419fed:	79 0a                	jns    0x419ff9
419fef:	68 14 64 45 00       	push   $0x456414
419ff4:	e9 1f 01 00 00       	jmp    0x41a118
419ff9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
419ffc:	50                   	push   %eax
419ffd:	53                   	push   %ebx
419ffe:	ff 75 e0             	push   -0x20(%ebp)
41a001:	e8 73 8d fe ff       	call   0x402d79
41a006:	8b f0                	mov    %eax,%esi
41a008:	85 f6                	test   %esi,%esi
41a00a:	79 0a                	jns    0x41a016
41a00c:	68 40 64 45 00       	push   $0x456440
41a011:	e9 02 01 00 00       	jmp    0x41a118
41a016:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41a019:	33 ff                	xor    %edi,%edi
41a01b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a01e:	47                   	inc    %edi
41a01f:	8b 45 ec             	mov    -0x14(%ebp),%eax
41a022:	85 c0                	test   %eax,%eax
41a024:	74 3e                	je     0x41a064
41a026:	33 c9                	xor    %ecx,%ecx
41a028:	66 39 08             	cmp    %cx,(%eax)
41a02b:	74 37                	je     0x41a064
41a02d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41a030:	51                   	push   %ecx
41a031:	53                   	push   %ebx
41a032:	50                   	push   %eax
41a033:	e8 41 8d fe ff       	call   0x402d79
41a038:	8b f0                	mov    %eax,%esi
41a03a:	85 f6                	test   %esi,%esi
41a03c:	78 ce                	js     0x41a00c
41a03e:	85 ff                	test   %edi,%edi
41a040:	74 1a                	je     0x41a05c
41a042:	6a ff                	push   $0xffffffff
41a044:	ff 75 e8             	push   -0x18(%ebp)
41a047:	33 c0                	xor    %eax,%eax
41a049:	6a ff                	push   $0xffffffff
41a04b:	ff 75 f0             	push   -0x10(%ebp)
41a04e:	6a 01                	push   $0x1
41a050:	50                   	push   %eax
41a051:	ff 15 28 b1 44 00    	call   *0x44b128
41a057:	83 f8 02             	cmp    $0x2,%eax
41a05a:	74 08                	je     0x41a064
41a05c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41a05f:	89 44 bd f0          	mov    %eax,-0x10(%ebp,%edi,4)
41a063:	47                   	inc    %edi
41a064:	8d 45 dc             	lea    -0x24(%ebp),%eax
41a067:	50                   	push   %eax
41a068:	68 c0 b8 44 00       	push   $0x44b8c0
41a06d:	ff 75 c8             	push   -0x38(%ebp)
41a070:	e8 19 d3 fe ff       	call   0x40738e
41a075:	8b f0                	mov    %eax,%esi
41a077:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
41a07d:	74 30                	je     0x41a0af
41a07f:	85 f6                	test   %esi,%esi
41a081:	79 0a                	jns    0x41a08d
41a083:	68 c8 22 45 00       	push   $0x4522c8
41a088:	e9 8b 00 00 00       	jmp    0x41a118
41a08d:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a090:	50                   	push   %eax
41a091:	53                   	push   %ebx
41a092:	ff 75 dc             	push   -0x24(%ebp)
41a095:	e8 df 8c fe ff       	call   0x402d79
41a09a:	8b f0                	mov    %eax,%esi
41a09c:	85 f6                	test   %esi,%esi
41a09e:	79 07                	jns    0x41a0a7
41a0a0:	68 6c 64 45 00       	push   $0x45646c
41a0a5:	eb 71                	jmp    0x41a118
41a0a7:	8b 45 d8             	mov    -0x28(%ebp),%eax
41a0aa:	89 44 bd f0          	mov    %eax,-0x10(%ebp,%edi,4)
41a0ae:	47                   	inc    %edi
41a0af:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41a0b2:	33 c9                	xor    %ecx,%ecx
41a0b4:	8b d9                	mov    %ecx,%ebx
41a0b6:	89 08                	mov    %ecx,(%eax)
41a0b8:	85 ff                	test   %edi,%edi
41a0ba:	74 44                	je     0x41a100
41a0bc:	51                   	push   %ecx
41a0bd:	ff 74 9d f0          	push   -0x10(%ebp,%ebx,4)
41a0c1:	e8 4f a2 02 00       	call   0x444315
41a0c6:	85 c0                	test   %eax,%eax
41a0c8:	75 0f                	jne    0x41a0d9
41a0ca:	43                   	inc    %ebx
41a0cb:	50                   	push   %eax
41a0cc:	59                   	pop    %ecx
41a0cd:	3b df                	cmp    %edi,%ebx
41a0cf:	72 eb                	jb     0x41a0bc
41a0d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41a0d4:	8b 7d d0             	mov    -0x30(%ebp),%edi
41a0d7:	eb 1f                	jmp    0x41a0f8
41a0d9:	8b 7d d0             	mov    -0x30(%ebp),%edi
41a0dc:	33 c0                	xor    %eax,%eax
41a0de:	50                   	push   %eax
41a0df:	ff 74 9d f0          	push   -0x10(%ebp,%ebx,4)
41a0e3:	57                   	push   %edi
41a0e4:	e8 bc 80 fe ff       	call   0x4021a5
41a0e9:	8b f0                	mov    %eax,%esi
41a0eb:	85 f6                	test   %esi,%esi
41a0ed:	78 24                	js     0x41a113
41a0ef:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41a0f2:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
41a0f8:	33 c9                	xor    %ecx,%ecx
41a0fa:	39 08                	cmp    %ecx,(%eax)
41a0fc:	75 22                	jne    0x41a120
41a0fe:	eb 03                	jmp    0x41a103
41a100:	8b 7d d0             	mov    -0x30(%ebp),%edi
41a103:	51                   	push   %ecx
41a104:	ff 75 f0             	push   -0x10(%ebp)
41a107:	57                   	push   %edi
41a108:	e8 98 80 fe ff       	call   0x4021a5
41a10d:	8b f0                	mov    %eax,%esi
41a10f:	85 f6                	test   %esi,%esi
41a111:	79 0d                	jns    0x41a120
41a113:	68 9c 64 45 00       	push   $0x45649c
41a118:	56                   	push   %esi
41a119:	e8 11 60 02 00       	call   0x44012f
41a11e:	59                   	pop    %ecx
41a11f:	59                   	pop    %ecx
41a120:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
41a124:	74 08                	je     0x41a12e
41a126:	ff 75 e4             	push   -0x1c(%ebp)
41a129:	e8 c1 b3 02 00       	call   0x4454ef
41a12e:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41a132:	74 08                	je     0x41a13c
41a134:	ff 75 e0             	push   -0x20(%ebp)
41a137:	e8 b3 b3 02 00       	call   0x4454ef
41a13c:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41a140:	74 08                	je     0x41a14a
41a142:	ff 75 ec             	push   -0x14(%ebp)
41a145:	e8 a5 b3 02 00       	call   0x4454ef
41a14a:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
41a14e:	74 08                	je     0x41a158
41a150:	ff 75 e8             	push   -0x18(%ebp)
41a153:	e8 97 b3 02 00       	call   0x4454ef
41a158:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41a15c:	74 08                	je     0x41a166
41a15e:	ff 75 dc             	push   -0x24(%ebp)
41a161:	e8 89 b3 02 00       	call   0x4454ef
41a166:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
41a16a:	74 08                	je     0x41a174
41a16c:	ff 75 d8             	push   -0x28(%ebp)
41a16f:	e8 7b b3 02 00       	call   0x4454ef
41a174:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a177:	8b c6                	mov    %esi,%eax
41a179:	5f                   	pop    %edi
41a17a:	5e                   	pop    %esi
41a17b:	33 cd                	xor    %ebp,%ecx
41a17d:	5b                   	pop    %ebx
41a17e:	e8 b3 3c 01 00       	call   0x42de36
41a183:	8b e5                	mov    %ebp,%esp
41a185:	5d                   	pop    %ebp
41a186:	c2 10 00             	ret    $0x10
41a189:	55                   	push   %ebp
41a18a:	8b ec                	mov    %esp,%ebp
41a18c:	83 ec 0c             	sub    $0xc,%esp
41a18f:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41a193:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a196:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41a19a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a19e:	53                   	push   %ebx
41a19f:	56                   	push   %esi
41a1a0:	57                   	push   %edi
41a1a1:	8b 7d 08             	mov    0x8(%ebp),%edi
41a1a4:	50                   	push   %eax
41a1a5:	6a 01                	push   $0x1
41a1a7:	57                   	push   %edi
41a1a8:	e8 bd e6 ff ff       	call   0x41886a
41a1ad:	8b f0                	mov    %eax,%esi
41a1af:	85 f6                	test   %esi,%esi
41a1b1:	79 23                	jns    0x41a1d6
41a1b3:	85 ff                	test   %edi,%edi
41a1b5:	b9 34 63 45 00       	mov    $0x456334,%ecx
41a1ba:	b8 40 63 45 00       	mov    $0x456340,%eax
41a1bf:	0f 44 c8             	cmove  %eax,%ecx
41a1c2:	51                   	push   %ecx
41a1c3:	68 4c 63 45 00       	push   $0x45634c
41a1c8:	56                   	push   %esi
41a1c9:	e8 61 5f 02 00       	call   0x44012f
41a1ce:	83 c4 0c             	add    $0xc,%esp
41a1d1:	e9 cb 00 00 00       	jmp    0x41a2a1
41a1d6:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a1d9:	33 db                	xor    %ebx,%ebx
41a1db:	50                   	push   %eax
41a1dc:	ff 75 0c             	push   0xc(%ebp)
41a1df:	83 fe 01             	cmp    $0x1,%esi
41a1e2:	ff 75 f4             	push   -0xc(%ebp)
41a1e5:	0f 94 c3             	sete   %bl
41a1e8:	e8 8c 8b fe ff       	call   0x402d79
41a1ed:	8b f0                	mov    %eax,%esi
41a1ef:	85 f6                	test   %esi,%esi
41a1f1:	79 12                	jns    0x41a205
41a1f3:	68 7c 63 45 00       	push   $0x45637c
41a1f8:	56                   	push   %esi
41a1f9:	e8 31 5f 02 00       	call   0x44012f
41a1fe:	59                   	pop    %ecx
41a1ff:	59                   	pop    %ecx
41a200:	e9 9c 00 00 00       	jmp    0x41a2a1
41a205:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a208:	50                   	push   %eax
41a209:	e8 20 89 fe ff       	call   0x402b2e
41a20e:	8b f0                	mov    %eax,%esi
41a210:	85 f6                	test   %esi,%esi
41a212:	79 07                	jns    0x41a21b
41a214:	68 9c 63 45 00       	push   $0x45639c
41a219:	eb dd                	jmp    0x41a1f8
41a21b:	85 db                	test   %ebx,%ebx
41a21d:	74 76                	je     0x41a295
41a21f:	6a 00                	push   $0x0
41a221:	ff 75 f8             	push   -0x8(%ebp)
41a224:	e8 b9 9e fe ff       	call   0x4040e2
41a229:	85 c0                	test   %eax,%eax
41a22b:	75 68                	jne    0x41a295
41a22d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a230:	50                   	push   %eax
41a231:	6a 00                	push   $0x0
41a233:	57                   	push   %edi
41a234:	e8 31 e6 ff ff       	call   0x41886a
41a239:	8b f0                	mov    %eax,%esi
41a23b:	85 f6                	test   %esi,%esi
41a23d:	79 1a                	jns    0x41a259
41a23f:	85 ff                	test   %edi,%edi
41a241:	b8 34 63 45 00       	mov    $0x456334,%eax
41a246:	b9 40 63 45 00       	mov    $0x456340,%ecx
41a24b:	0f 44 c1             	cmove  %ecx,%eax
41a24e:	50                   	push   %eax
41a24f:	68 d4 63 45 00       	push   $0x4563d4
41a254:	e9 6f ff ff ff       	jmp    0x41a1c8
41a259:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a25c:	50                   	push   %eax
41a25d:	ff 75 0c             	push   0xc(%ebp)
41a260:	ff 75 f4             	push   -0xc(%ebp)
41a263:	e8 11 8b fe ff       	call   0x402d79
41a268:	8b f0                	mov    %eax,%esi
41a26a:	85 f6                	test   %esi,%esi
41a26c:	78 85                	js     0x41a1f3
41a26e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a271:	50                   	push   %eax
41a272:	e8 b7 88 fe ff       	call   0x402b2e
41a277:	8b f0                	mov    %eax,%esi
41a279:	85 f6                	test   %esi,%esi
41a27b:	78 97                	js     0x41a214
41a27d:	6a 00                	push   $0x0
41a27f:	ff 75 fc             	push   -0x4(%ebp)
41a282:	e8 5b 9e fe ff       	call   0x4040e2
41a287:	85 c0                	test   %eax,%eax
41a289:	74 0a                	je     0x41a295
41a28b:	8b 45 10             	mov    0x10(%ebp),%eax
41a28e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a291:	89 08                	mov    %ecx,(%eax)
41a293:	eb 1a                	jmp    0x41a2af
41a295:	8b 45 10             	mov    0x10(%ebp),%eax
41a298:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41a29b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41a29f:	89 08                	mov    %ecx,(%eax)
41a2a1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a2a5:	74 0c                	je     0x41a2b3
41a2a7:	ff 75 fc             	push   -0x4(%ebp)
41a2aa:	e8 40 b2 02 00       	call   0x4454ef
41a2af:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a2b3:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41a2b7:	74 0c                	je     0x41a2c5
41a2b9:	ff 75 f8             	push   -0x8(%ebp)
41a2bc:	e8 2e b2 02 00       	call   0x4454ef
41a2c1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41a2c5:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41a2c9:	74 08                	je     0x41a2d3
41a2cb:	ff 75 f4             	push   -0xc(%ebp)
41a2ce:	e8 1c b2 02 00       	call   0x4454ef
41a2d3:	5f                   	pop    %edi
41a2d4:	8b c6                	mov    %esi,%eax
41a2d6:	5e                   	pop    %esi
41a2d7:	5b                   	pop    %ebx
41a2d8:	8b e5                	mov    %ebp,%esp
41a2da:	5d                   	pop    %ebp
41a2db:	c2 0c 00             	ret    $0xc
41a2de:	55                   	push   %ebp
41a2df:	8b ec                	mov    %esp,%ebp
41a2e1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41a2e5:	ff 75 10             	push   0x10(%ebp)
41a2e8:	74 0f                	je     0x41a2f9
41a2ea:	68 24 b5 44 00       	push   $0x44b524
41a2ef:	ff 75 08             	push   0x8(%ebp)
41a2f2:	e8 1a e4 ff ff       	call   0x418711
41a2f7:	eb 0a                	jmp    0x41a303
41a2f9:	6a 01                	push   $0x1
41a2fb:	ff 75 08             	push   0x8(%ebp)
41a2fe:	e8 67 e5 ff ff       	call   0x41886a
41a303:	5d                   	pop    %ebp
41a304:	c2 0c 00             	ret    $0xc
41a307:	55                   	push   %ebp
41a308:	8b ec                	mov    %esp,%ebp
41a30a:	83 ec 18             	sub    $0x18,%esp
41a30d:	33 c0                	xor    %eax,%eax
41a30f:	56                   	push   %esi
41a310:	8b f0                	mov    %eax,%esi
41a312:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a315:	57                   	push   %edi
41a316:	8b f8                	mov    %eax,%edi
41a318:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a31b:	89 7d ec             	mov    %edi,-0x14(%ebp)
41a31e:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a321:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a324:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a327:	39 05 a4 aa 46 00    	cmp    %eax,0x46aaa4
41a32d:	0f 85 c8 01 00 00    	jne    0x41a4fb
41a333:	50                   	push   %eax
41a334:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a337:	50                   	push   %eax
41a338:	e8 9a 90 fe ff       	call   0x4033d7
41a33d:	8b f0                	mov    %eax,%esi
41a33f:	85 f6                	test   %esi,%esi
41a341:	79 12                	jns    0x41a355
41a343:	68 90 bf 44 00       	push   $0x44bf90
41a348:	56                   	push   %esi
41a349:	e8 e1 5d 02 00       	call   0x44012f
41a34e:	59                   	pop    %ecx
41a34f:	59                   	pop    %ecx
41a350:	e9 64 01 00 00       	jmp    0x41a4b9
41a355:	8b 7d 08             	mov    0x8(%ebp),%edi
41a358:	8d 45 ec             	lea    -0x14(%ebp),%eax
41a35b:	50                   	push   %eax
41a35c:	ff 77 10             	push   0x10(%edi)
41a35f:	ff 37                	push   (%edi)
41a361:	e8 23 fe ff ff       	call   0x41a189
41a366:	8b f0                	mov    %eax,%esi
41a368:	85 f6                	test   %esi,%esi
41a36a:	79 15                	jns    0x41a381
41a36c:	68 bc 5f 45 00       	push   $0x455fbc
41a371:	56                   	push   %esi
41a372:	e8 b8 5d 02 00       	call   0x44012f
41a377:	8b 7d ec             	mov    -0x14(%ebp),%edi
41a37a:	59                   	pop    %ecx
41a37b:	59                   	pop    %ecx
41a37c:	e9 38 01 00 00       	jmp    0x41a4b9
41a381:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a384:	50                   	push   %eax
41a385:	ff 77 48             	push   0x48(%edi)
41a388:	8b 7d ec             	mov    -0x14(%ebp),%edi
41a38b:	57                   	push   %edi
41a38c:	e8 e8 89 fe ff       	call   0x402d79