480166:	66 83 7f 04 00       	cmpw   $0x0,0x4(%edi)
48016b:	0f 95 c0             	setne  %al
48016e:	83 e0 7f             	and    $0x7f,%eax
480171:	50                   	push   %eax
480172:	68 86 00 00 00       	push   $0x86
480177:	8b c3                	mov    %ebx,%eax
480179:	e8 d6 ed fc ff       	call   0x44ef54
48017e:	50                   	push   %eax
48017f:	e8 8c 7b f8 ff       	call   0x407d10
480184:	66 83 7f 04 00       	cmpw   $0x0,0x4(%edi)
480189:	74 4d                	je     0x4801d8
48018b:	8b c6                	mov    %esi,%eax
48018d:	e8 c2 ed fc ff       	call   0x44ef54
480192:	50                   	push   %eax
480193:	e8 60 7a f8 ff       	call   0x407bf8
480198:	85 c0                	test   %eax,%eax
48019a:	75 14                	jne    0x4801b0
48019c:	8b c6                	mov    %esi,%eax
48019e:	e8 b1 ed fc ff       	call   0x44ef54
4801a3:	e8 68 da ff ff       	call   0x47dc10
4801a8:	50                   	push   %eax
4801a9:	e8 7a 7b f8 ff       	call   0x407d28
4801ae:	eb 28                	jmp    0x4801d8
4801b0:	85 db                	test   %ebx,%ebx
4801b2:	74 24                	je     0x4801d8
4801b4:	8b c3                	mov    %ebx,%eax
4801b6:	e8 9d f0 fc ff       	call   0x44f258
4801bb:	84 c0                	test   %al,%al
4801bd:	74 19                	je     0x4801d8
4801bf:	8b c3                	mov    %ebx,%eax
4801c1:	e8 8e ed fc ff       	call   0x44ef54
4801c6:	3b 47 08             	cmp    0x8(%edi),%eax
4801c9:	74 0d                	je     0x4801d8
4801cb:	8b c3                	mov    %ebx,%eax
4801cd:	e8 82 ed fc ff       	call   0x44ef54
4801d2:	50                   	push   %eax
4801d3:	e8 50 7b f8 ff       	call   0x407d28
4801d8:	5f                   	pop    %edi
4801d9:	5e                   	pop    %esi
4801da:	5b                   	pop    %ebx
4801db:	c3                   	ret
4801dc:	53                   	push   %ebx
4801dd:	56                   	push   %esi
4801de:	57                   	push   %edi
4801df:	55                   	push   %ebp
4801e0:	8b f0                	mov    %eax,%esi
4801e2:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
4801e6:	74 0c                	je     0x4801f4
4801e8:	8b c6                	mov    %esi,%eax
4801ea:	8b 08                	mov    (%eax),%ecx
4801ec:	ff 51 f0             	call   *-0x10(%ecx)
4801ef:	e9 98 00 00 00       	jmp    0x48028c
4801f4:	c7 42 0c 03 00 00 00 	movl   $0x3,0xc(%edx)
4801fb:	6a 13                	push   $0x13
4801fd:	6a 00                	push   $0x0
4801ff:	6a 00                	push   $0x0
480201:	6a 00                	push   $0x0
480203:	6a 00                	push   $0x0
480205:	6a 00                	push   $0x0
480207:	8b c6                	mov    %esi,%eax
480209:	e8 46 ed fc ff       	call   0x44ef54
48020e:	50                   	push   %eax
48020f:	e8 c4 7b f8 ff       	call   0x407dd8
480214:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
48021a:	e8 6d d7 ff ff       	call   0x47d98c
48021f:	8b d8                	mov    %eax,%ebx
480221:	8b c3                	mov    %ebx,%eax
480223:	e8 88 d6 ff ff       	call   0x47d8b0
480228:	8b f8                	mov    %eax,%edi
48022a:	8b ae f4 02 00 00    	mov    0x2f4(%esi),%ebp
480230:	80 bd 95 02 00 00 00 	cmpb   $0x0,0x295(%ebp)
480237:	75 53                	jne    0x48028c
480239:	80 bd 88 02 00 00 00 	cmpb   $0x0,0x288(%ebp)
480240:	74 4a                	je     0x48028c
480242:	85 ff                	test   %edi,%edi
480244:	74 46                	je     0x48028c
480246:	8b c6                	mov    %esi,%eax
480248:	e8 07 ed fc ff       	call   0x44ef54
48024d:	8b f0                	mov    %eax,%esi
48024f:	e8 64 77 f8 ff       	call   0x4079b8
480254:	3b f0                	cmp    %eax,%esi
480256:	74 34                	je     0x48028c
480258:	8b c7                	mov    %edi,%eax
48025a:	e8 f9 ef fc ff       	call   0x44f258
48025f:	84 c0                	test   %al,%al
480261:	74 0d                	je     0x480270
480263:	8b c7                	mov    %edi,%eax
480265:	e8 ea ec fc ff       	call   0x44ef54
48026a:	50                   	push   %eax
48026b:	e8 b8 7a f8 ff       	call   0x407d28
480270:	3b df                	cmp    %edi,%ebx
480272:	74 18                	je     0x48028c
480274:	8b c3                	mov    %ebx,%eax
480276:	e8 dd ef fc ff       	call   0x44f258
48027b:	84 c0                	test   %al,%al
48027d:	74 0d                	je     0x48028c
48027f:	8b c3                	mov    %ebx,%eax
480281:	e8 ce ec fc ff       	call   0x44ef54
480286:	50                   	push   %eax
480287:	e8 8c 75 f8 ff       	call   0x407818
48028c:	5d                   	pop    %ebp
48028d:	5f                   	pop    %edi
48028e:	5e                   	pop    %esi
48028f:	5b                   	pop    %ebx
480290:	c3                   	ret
480291:	8d 40 00             	lea    0x0(%eax),%eax
480294:	53                   	push   %ebx
480295:	8b d8                	mov    %eax,%ebx
480297:	8b c3                	mov    %ebx,%eax
480299:	e8 02 d3 fc ff       	call   0x44d5a0
48029e:	8b 83 f4 02 00 00    	mov    0x2f4(%ebx),%eax
4802a4:	e8 2b 06 00 00       	call   0x4808d4
4802a9:	5b                   	pop    %ebx
4802aa:	c3                   	ret
4802ab:	90                   	nop
4802ac:	55                   	push   %ebp
4802ad:	8b ec                	mov    %esp,%ebp
4802af:	51                   	push   %ecx
4802b0:	6a 00                	push   $0x0
4802b2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4802b5:	50                   	push   %eax
4802b6:	6a 00                	push   $0x0
4802b8:	68 08 10 00 00       	push   $0x1008
4802bd:	e8 66 7b f8 ff       	call   0x407e28
4802c2:	85 c0                	test   %eax,%eax
4802c4:	74 06                	je     0x4802cc
4802c6:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4802ca:	75 05                	jne    0x4802d1
4802cc:	33 c0                	xor    %eax,%eax
4802ce:	59                   	pop    %ecx
4802cf:	5d                   	pop    %ebp
4802d0:	c3                   	ret
4802d1:	b0 01                	mov    $0x1,%al
4802d3:	59                   	pop    %ecx
4802d4:	5d                   	pop    %ebp
4802d5:	c3                   	ret
4802d6:	8b c0                	mov    %eax,%eax
4802d8:	55                   	push   %ebp
4802d9:	8b ec                	mov    %esp,%ebp
4802db:	83 c4 b4             	add    $0xffffffb4,%esp
4802de:	53                   	push   %ebx
4802df:	56                   	push   %esi
4802e0:	57                   	push   %edi
4802e1:	8b f1                	mov    %ecx,%esi
4802e3:	88 55 fb             	mov    %dl,-0x5(%ebp)
4802e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4802e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4802ec:	e8 67 ef fc ff       	call   0x44f258
4802f1:	84 c0                	test   %al,%al
4802f3:	0f 84 bd 03 00 00    	je     0x4806b6
4802f9:	8a 5d fb             	mov    -0x5(%ebp),%bl
4802fc:	80 f3 01             	xor    $0x1,%bl
4802ff:	84 db                	test   %bl,%bl
480301:	74 13                	je     0x480316
480303:	8b 45 fc             	mov    -0x4(%ebp),%eax
480306:	e8 49 ec fc ff       	call   0x44ef54
48030b:	50                   	push   %eax
48030c:	e8 2f 78 f8 ff       	call   0x407b40
480311:	89 45 f4             	mov    %eax,-0xc(%ebp)
480314:	eb 03                	jmp    0x480319
480316:	89 75 f4             	mov    %esi,-0xc(%ebp)
480319:	33 c9                	xor    %ecx,%ecx
48031b:	55                   	push   %ebp
48031c:	68 af 06 48 00       	push   $0x4806af
480321:	64 ff 31             	push   %fs:(%ecx)
480324:	64 89 21             	mov    %esp,%fs:(%ecx)
480327:	84 db                	test   %bl,%bl
480329:	74 13                	je     0x48033e
48032b:	8b 45 fc             	mov    -0x4(%ebp),%eax
48032e:	e8 21 ec fc ff       	call   0x44ef54
480333:	8b 4d 0c             	mov    0xc(%ebp),%ecx
480336:	8b 55 f4             	mov    -0xc(%ebp),%edx
480339:	e8 5e bb fe ff       	call   0x46be9c
48033e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
480341:	50                   	push   %eax
480342:	8b 45 fc             	mov    -0x4(%ebp),%eax
480345:	e8 0a ec fc ff       	call   0x44ef54
48034a:	50                   	push   %eax
48034b:	e8 08 78 f8 ff       	call   0x407b58
480350:	8b 45 d8             	mov    -0x28(%ebp),%eax
480353:	f7 d8                	neg    %eax
480355:	50                   	push   %eax
480356:	8b 45 d4             	mov    -0x2c(%ebp),%eax
480359:	f7 d8                	neg    %eax
48035b:	50                   	push   %eax
48035c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
48035f:	50                   	push   %eax
480360:	e8 13 79 f8 ff       	call   0x407c78
480365:	8b 45 e0             	mov    -0x20(%ebp),%eax
480368:	50                   	push   %eax
480369:	8b 45 dc             	mov    -0x24(%ebp),%eax
48036c:	50                   	push   %eax
48036d:	8b 45 d8             	mov    -0x28(%ebp),%eax
480370:	50                   	push   %eax
480371:	8b 45 d4             	mov    -0x2c(%ebp),%eax
480374:	50                   	push   %eax
480375:	8b 45 f4             	mov    -0xc(%ebp),%eax
480378:	50                   	push   %eax
480379:	e8 da 72 f8 ff       	call   0x407658
48037e:	e8 29 ff ff ff       	call   0x4802ac
480383:	88 45 f3             	mov    %al,-0xd(%ebp)
480386:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
48038a:	0f 84 ae 00 00 00    	je     0x48043e
480390:	8d 45 d4             	lea    -0x2c(%ebp),%eax
480393:	50                   	push   %eax
480394:	8b 45 fc             	mov    -0x4(%ebp),%eax
480397:	e8 b8 eb fc ff       	call   0x44ef54
48039c:	50                   	push   %eax
48039d:	e8 b6 77 f8 ff       	call   0x407b58
4803a2:	8b 45 d8             	mov    -0x28(%ebp),%eax
4803a5:	f7 d8                	neg    %eax
4803a7:	50                   	push   %eax
4803a8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4803ab:	f7 d8                	neg    %eax
4803ad:	50                   	push   %eax
4803ae:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4803b1:	50                   	push   %eax
4803b2:	e8 c1 78 f8 ff       	call   0x407c78
4803b7:	6a 0f                	push   $0xf
4803b9:	6a 05                	push   $0x5
4803bb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4803be:	50                   	push   %eax
4803bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4803c2:	50                   	push   %eax
4803c3:	e8 40 75 f8 ff       	call   0x407908
4803c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4803cb:	50                   	push   %eax
4803cc:	e8 1f 73 f8 ff       	call   0x4076f0
4803d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4803d4:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4803d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4803da:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
4803e0:	8b 08                	mov    (%eax),%ecx
4803e2:	ff 91 f4 00 00 00    	call   *0xf4(%ecx)
4803e8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4803eb:	8b 55 e8             	mov    -0x18(%ebp),%edx
4803ee:	2b ca                	sub    %edx,%ecx
4803f0:	51                   	push   %ecx
4803f1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4803f4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4803f7:	2b c8                	sub    %eax,%ecx
4803f9:	51                   	push   %ecx
4803fa:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4803fd:	03 ca                	add    %edx,%ecx
4803ff:	51                   	push   %ecx
480400:	8b 55 d4             	mov    -0x2c(%ebp),%edx
480403:	03 d0                	add    %eax,%edx
480405:	52                   	push   %edx
480406:	8b 45 f4             	mov    -0xc(%ebp),%eax
480409:	50                   	push   %eax
48040a:	e8 29 71 f8 ff       	call   0x407538
48040f:	6a fe                	push   $0xfffffffe
480411:	6a fe                	push   $0xfffffffe
480413:	8d 45 d4             	lea    -0x2c(%ebp),%eax
480416:	50                   	push   %eax
480417:	e8 6c 77 f8 ff       	call   0x407b88
48041c:	6a 0f                	push   $0xf
48041e:	e8 ed 76 f8 ff       	call   0x407b10
480423:	50                   	push   %eax
480424:	8d 45 d4             	lea    -0x2c(%ebp),%eax
480427:	50                   	push   %eax
480428:	8b 45 f4             	mov    -0xc(%ebp),%eax
48042b:	50                   	push   %eax
48042c:	e8 67 75 f8 ff       	call   0x407998
480431:	8b 45 ec             	mov    -0x14(%ebp),%eax
480434:	50                   	push   %eax
480435:	8b 45 f4             	mov    -0xc(%ebp),%eax
480438:	50                   	push   %eax
480439:	e8 a2 72 f8 ff       	call   0x4076e0
48043e:	8b 45 fc             	mov    -0x4(%ebp),%eax
480441:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
480447:	80 b8 8e 02 00 00 00 	cmpb   $0x0,0x28e(%eax)
48044e:	0f 84 35 02 00 00    	je     0x480689
480454:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
480458:	0f 95 c3             	setne  %bl
48045b:	84 db                	test   %bl,%bl
48045d:	74 26                	je     0x480485
48045f:	8b 45 fc             	mov    -0x4(%ebp),%eax
480462:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
480468:	80 b8 8a 02 00 00 00 	cmpb   $0x0,0x28a(%eax)
48046f:	74 14                	je     0x480485
480471:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
480475:	74 0e                	je     0x480485
480477:	8b 45 f4             	mov    -0xc(%ebp),%eax
48047a:	50                   	push   %eax
48047b:	e8 70 72 f8 ff       	call   0x4076f0
480480:	89 45 ec             	mov    %eax,-0x14(%ebp)
480483:	eb 05                	jmp    0x48048a
480485:	33 c0                	xor    %eax,%eax
480487:	89 45 ec             	mov    %eax,-0x14(%ebp)
48048a:	33 c0                	xor    %eax,%eax
48048c:	55                   	push   %ebp
48048d:	68 af 05 48 00       	push   $0x4805af
480492:	64 ff 30             	push   %fs:(%eax)
480495:	64 89 20             	mov    %esp,%fs:(%eax)
480498:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
48049c:	74 26                	je     0x4804c4
48049e:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4804a1:	b2 01                	mov    $0x1,%dl
4804a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4804a6:	e8 c9 f7 ff ff       	call   0x47fc74
4804ab:	8b 45 c0             	mov    -0x40(%ebp),%eax
4804ae:	50                   	push   %eax
4804af:	8b 45 bc             	mov    -0x44(%ebp),%eax
4804b2:	50                   	push   %eax
4804b3:	8b 45 b8             	mov    -0x48(%ebp),%eax
4804b6:	50                   	push   %eax
4804b7:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4804ba:	50                   	push   %eax
4804bb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4804be:	50                   	push   %eax
4804bf:	e8 74 70 f8 ff       	call   0x407538
4804c4:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
4804c8:	0f 95 c0             	setne  %al
4804cb:	84 db                	test   %bl,%bl
4804cd:	0f 84 bb 00 00 00    	je     0x48058e
4804d3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4804d6:	50                   	push   %eax
4804d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4804da:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
4804e0:	8a 88 8a 02 00 00    	mov    0x28a(%eax),%cl
4804e6:	b2 01                	mov    $0x1,%dl
4804e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4804eb:	e8 1c f7 ff ff       	call   0x47fc0c
4804f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4804f3:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
4804f9:	0f b6 80 b2 02 00 00 	movzbl 0x2b2(%eax),%eax
480500:	8b 04 85 18 b0 68 00 	mov    0x68b018(,%eax,4),%eax
480507:	83 c8 0a             	or     $0xa,%eax
48050a:	33 d2                	xor    %edx,%edx
48050c:	8a 55 f3             	mov    -0xd(%ebp),%dl
48050f:	0b 04 95 20 b0 68 00 	or     0x68b020(,%edx,4),%eax
480516:	50                   	push   %eax
480517:	8d 45 d4             	lea    -0x2c(%ebp),%eax
48051a:	50                   	push   %eax
48051b:	8b 45 f4             	mov    -0xc(%ebp),%eax
48051e:	50                   	push   %eax
48051f:	8b 45 fc             	mov    -0x4(%ebp),%eax
480522:	e8 2d ea fc ff       	call   0x44ef54
480527:	50                   	push   %eax
480528:	e8 d3 73 f8 ff       	call   0x407900
48052d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
480530:	50                   	push   %eax
480531:	33 c9                	xor    %ecx,%ecx
480533:	b2 01                	mov    $0x1,%dl
480535:	8b 45 fc             	mov    -0x4(%ebp),%eax
480538:	e8 cf f6 ff ff       	call   0x47fc0c
48053d:	6a 0f                	push   $0xf
48053f:	e8 c4 75 f8 ff       	call   0x407b08
480544:	50                   	push   %eax