4165d1:	e8 47 cf ff ff       	call   0x41351d
4165d6:	83 c4 10             	add    $0x10,%esp
4165d9:	85 c0                	test   %eax,%eax
4165db:	0f 88 90 00 00 00    	js     0x416671
4165e1:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4165e7:	50                   	push   %eax
4165e8:	57                   	push   %edi
4165e9:	6a 01                	push   $0x1
4165eb:	57                   	push   %edi
4165ec:	ff 15 d0 c0 42 00    	call   *0x42c0d0
4165f2:	8b f8                	mov    %eax,%edi
4165f4:	85 ff                	test   %edi,%edi
4165f6:	75 13                	jne    0x41660b
4165f8:	e8 b3 19 01 00       	call   0x427fb0
4165fd:	85 c0                	test   %eax,%eax
4165ff:	7e 70                	jle    0x416671
416601:	0f b7 c0             	movzwl %ax,%eax
416604:	0d 00 00 07 80       	or     $0x80070000,%eax
416609:	eb 66                	jmp    0x416671
41660b:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
416611:	56                   	push   %esi
416612:	68 28 3a 40 00       	push   $0x403a28
416617:	6a 40                	push   $0x40
416619:	89 38                	mov    %edi,(%eax)
41661b:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
416621:	50                   	push   %eax
416622:	e8 f6 ce ff ff       	call   0x41351d
416627:	83 c4 10             	add    $0x10,%esp
41662a:	85 c0                	test   %eax,%eax
41662c:	78 43                	js     0x416671
41662e:	6a 00                	push   $0x0
416630:	ff 15 70 c1 42 00    	call   *0x42c170
416636:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41663c:	50                   	push   %eax
41663d:	6a 01                	push   $0x1
41663f:	6a 00                	push   $0x0
416641:	ff 15 b8 c0 42 00    	call   *0x42c0b8
416647:	8b f0                	mov    %eax,%esi
416649:	e8 62 19 01 00       	call   0x427fb0
41664e:	85 f6                	test   %esi,%esi
416650:	74 ab                	je     0x4165fd
416652:	3d b7 00 00 00       	cmp    $0xb7,%eax
416657:	75 0d                	jne    0x416666
416659:	56                   	push   %esi
41665a:	e8 57 19 01 00       	call   0x427fb6
41665f:	b8 04 80 1b 80       	mov    $0x801b8004,%eax
416664:	eb 0b                	jmp    0x416671
416666:	57                   	push   %edi
416667:	ff 15 b4 c0 42 00    	call   *0x42c0b4
41666d:	89 33                	mov    %esi,(%ebx)
41666f:	33 c0                	xor    %eax,%eax
416671:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416674:	5f                   	pop    %edi
416675:	5e                   	pop    %esi
416676:	33 cd                	xor    %ebp,%ecx
416678:	5b                   	pop    %ebx
416679:	e8 62 14 01 00       	call   0x427ae0
41667e:	c9                   	leave
41667f:	c2 04 00             	ret    $0x4
416682:	8b ff                	mov    %edi,%edi
416684:	55                   	push   %ebp
416685:	8b ec                	mov    %esp,%ebp
416687:	81 ec 70 09 00 00    	sub    $0x970,%esp
41668d:	a1 74 b6 42 00       	mov    0x42b674,%eax
416692:	33 c5                	xor    %ebp,%eax
416694:	89 45 fc             	mov    %eax,-0x4(%ebp)
416697:	56                   	push   %esi
416698:	57                   	push   %edi
416699:	8b f9                	mov    %ecx,%edi
41669b:	8b f2                	mov    %edx,%esi
41669d:	85 ff                	test   %edi,%edi
41669f:	74 45                	je     0x4166e6
4166a1:	85 f6                	test   %esi,%esi
4166a3:	74 41                	je     0x4166e6
4166a5:	83 26 00             	andl   $0x0,(%esi)
4166a8:	8d 85 90 f6 ff ff    	lea    -0x970(%ebp),%eax
4166ae:	68 68 09 00 00       	push   $0x968
4166b3:	6a 00                	push   $0x0
4166b5:	50                   	push   %eax
4166b6:	e8 f2 1c 01 00       	call   0x4283ad
4166bb:	83 c4 0c             	add    $0xc,%esp
4166be:	8d 95 90 f6 ff ff    	lea    -0x970(%ebp),%edx
4166c4:	8b cf                	mov    %edi,%ecx
4166c6:	e8 b1 f0 ff ff       	call   0x41577c
4166cb:	85 c0                	test   %eax,%eax
4166cd:	78 36                	js     0x416705
4166cf:	8b 4d 88             	mov    -0x78(%ebp),%ecx
4166d2:	8b c1                	mov    %ecx,%eax
4166d4:	0b 45 8c             	or     -0x74(%ebp),%eax
4166d7:	75 07                	jne    0x4166e0
4166d9:	b8 90 04 07 80       	mov    $0x80070490,%eax
4166de:	eb 25                	jmp    0x416705
4166e0:	89 0e                	mov    %ecx,(%esi)
4166e2:	33 c0                	xor    %eax,%eax
4166e4:	eb 1f                	jmp    0x416705
4166e6:	68 c8 15 00 00       	push   $0x15c8
4166eb:	68 68 3a 40 00       	push   $0x403a68
4166f0:	6a 00                	push   $0x0
4166f2:	68 96 00 00 00       	push   $0x96
4166f7:	ff 15 14 c4 42 00    	call   *0x42c414
4166fd:	83 c4 10             	add    $0x10,%esp
416700:	b8 57 00 07 80       	mov    $0x80070057,%eax
416705:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416708:	5f                   	pop    %edi
416709:	33 cd                	xor    %ebp,%ecx
41670b:	5e                   	pop    %esi
41670c:	e8 cf 13 01 00       	call   0x427ae0
416711:	c9                   	leave
416712:	c3                   	ret
416713:	8b ff                	mov    %edi,%edi
416715:	55                   	push   %ebp
416716:	8b ec                	mov    %esp,%ebp
416718:	53                   	push   %ebx
416719:	33 db                	xor    %ebx,%ebx
41671b:	56                   	push   %esi
41671c:	8b 75 08             	mov    0x8(%ebp),%esi
41671f:	85 c9                	test   %ecx,%ecx
416721:	74 33                	je     0x416756
416723:	57                   	push   %edi
416724:	8b fa                	mov    %edx,%edi
416726:	66 39 19             	cmp    %bx,(%ecx)
416729:	74 08                	je     0x416733
41672b:	83 c1 02             	add    $0x2,%ecx
41672e:	83 ef 01             	sub    $0x1,%edi
416731:	75 f3                	jne    0x416726
416733:	8b c7                	mov    %edi,%eax
416735:	f7 d8                	neg    %eax
416737:	1b c0                	sbb    %eax,%eax
416739:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
41673e:	05 57 00 07 80       	add    $0x80070057,%eax
416743:	85 f6                	test   %esi,%esi
416745:	74 0c                	je     0x416753
416747:	85 ff                	test   %edi,%edi
416749:	74 06                	je     0x416751
41674b:	2b d7                	sub    %edi,%edx
41674d:	89 16                	mov    %edx,(%esi)
41674f:	eb 02                	jmp    0x416753
416751:	89 1e                	mov    %ebx,(%esi)
416753:	5f                   	pop    %edi
416754:	eb 05                	jmp    0x41675b
416756:	b8 57 00 07 80       	mov    $0x80070057,%eax
41675b:	85 c0                	test   %eax,%eax
41675d:	79 06                	jns    0x416765
41675f:	85 f6                	test   %esi,%esi
416761:	74 02                	je     0x416765
416763:	89 1e                	mov    %ebx,(%esi)
416765:	5e                   	pop    %esi
416766:	5b                   	pop    %ebx
416767:	5d                   	pop    %ebp
416768:	c2 04 00             	ret    $0x4
41676b:	8b ff                	mov    %edi,%edi
41676d:	55                   	push   %ebp
41676e:	8b ec                	mov    %esp,%ebp
416770:	d1 ea                	shr    $1,%edx
416772:	8b c2                	mov    %edx,%eax
416774:	f7 d8                	neg    %eax
416776:	1b c0                	sbb    %eax,%eax
416778:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
41677d:	05 57 00 07 80       	add    $0x80070057,%eax
416782:	85 d2                	test   %edx,%edx
416784:	74 0a                	je     0x416790
416786:	51                   	push   %ecx
416787:	ff 75 08             	push   0x8(%ebp)
41678a:	51                   	push   %ecx
41678b:	e8 55 22 ff ff       	call   0x4089e5
416790:	5d                   	pop    %ebp
416791:	c2 04 00             	ret    $0x4
416794:	6a 0c                	push   $0xc
416796:	b8 7e 88 42 00       	mov    $0x42887e,%eax
41679b:	e8 c8 18 01 00       	call   0x428068
4167a0:	8b fa                	mov    %edx,%edi
4167a2:	8b d9                	mov    %ecx,%ebx
4167a4:	33 c0                	xor    %eax,%eax
4167a6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4167a9:	89 45 f0             	mov    %eax,-0x10(%ebp)
4167ac:	89 45 ec             	mov    %eax,-0x14(%ebp)
4167af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4167b2:	85 db                	test   %ebx,%ebx
4167b4:	0f 84 d2 00 00 00    	je     0x41688c
4167ba:	85 ff                	test   %edi,%edi
4167bc:	0f 84 ca 00 00 00    	je     0x41688c
4167c2:	8b cf                	mov    %edi,%ecx
4167c4:	e8 a3 cf ff ff       	call   0x41376c
4167c9:	85 c0                	test   %eax,%eax
4167cb:	0f 84 8e 00 00 00    	je     0x41685f
4167d1:	3b c7                	cmp    %edi,%eax
4167d3:	0f 84 86 00 00 00    	je     0x41685f
4167d9:	2b c7                	sub    %edi,%eax
4167db:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4167de:	d1 f8                	sar    $1,%eax
4167e0:	48                   	dec    %eax
4167e1:	50                   	push   %eax
4167e2:	57                   	push   %edi
4167e3:	e8 01 58 ff ff       	call   0x40bfe9
4167e8:	8b f0                	mov    %eax,%esi
4167ea:	85 f6                	test   %esi,%esi
4167ec:	79 33                	jns    0x416821
4167ee:	a1 00 b0 42 00       	mov    0x42b000,%eax
4167f3:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4167f8:	0f 84 b8 00 00 00    	je     0x4168b6
4167fe:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416802:	0f 84 ae 00 00 00    	je     0x4168b6
416808:	56                   	push   %esi
416809:	ff 70 14             	push   0x14(%eax)
41680c:	ff 70 10             	push   0x10(%eax)
41680f:	6a 0c                	push   $0xc
416811:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
416816:	59                   	pop    %ecx
416817:	e8 b2 0b ff ff       	call   0x4073ce
41681c:	e9 95 00 00 00       	jmp    0x4168b6
416821:	ff 75 e8             	push   -0x18(%ebp)
416824:	53                   	push   %ebx
416825:	ff 15 b0 c0 42 00    	call   *0x42c0b0
41682b:	85 c0                	test   %eax,%eax
41682d:	75 2c                	jne    0x41685b
41682f:	ff 15 18 c2 42 00    	call   *0x42c218
416835:	8b c8                	mov    %eax,%ecx
416837:	e8 6e 4d ff ff       	call   0x40b5aa
41683c:	8b f0                	mov    %eax,%esi
41683e:	a1 00 b0 42 00       	mov    0x42b000,%eax
416843:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416848:	74 6c                	je     0x4168b6
41684a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41684e:	74 66                	je     0x4168b6
416850:	56                   	push   %esi
416851:	ff 70 14             	push   0x14(%eax)
416854:	ff 70 10             	push   0x10(%eax)
416857:	6a 0d                	push   $0xd
416859:	eb b6                	jmp    0x416811
41685b:	33 f6                	xor    %esi,%esi
41685d:	eb 57                	jmp    0x4168b6
41685f:	be 57 00 07 80       	mov    $0x80070057,%esi
416864:	a1 00 b0 42 00       	mov    0x42b000,%eax
416869:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41686e:	74 46                	je     0x4168b6
416870:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
416874:	74 40                	je     0x4168b6
416876:	57                   	push   %edi
416877:	ff 70 14             	push   0x14(%eax)
41687a:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
41687f:	ff 70 10             	push   0x10(%eax)
416882:	6a 0b                	push   $0xb
416884:	59                   	pop    %ecx
416885:	e8 ce 10 ff ff       	call   0x407958
41688a:	eb 2a                	jmp    0x4168b6
41688c:	a1 00 b0 42 00       	mov    0x42b000,%eax
416891:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416896:	74 19                	je     0x4168b1
416898:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41689c:	74 13                	je     0x4168b1
41689e:	ff 70 14             	push   0x14(%eax)
4168a1:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4168a6:	ff 70 10             	push   0x10(%eax)
4168a9:	6a 0a                	push   $0xa
4168ab:	59                   	pop    %ecx
4168ac:	e8 ff 0a ff ff       	call   0x4073b0
4168b1:	be 57 00 07 80       	mov    $0x80070057,%esi
4168b6:	6a 01                	push   $0x1
4168b8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4168bb:	e8 65 63 ff ff       	call   0x40cc25
4168c0:	8b c6                	mov    %esi,%eax
4168c2:	e8 6f 17 01 00       	call   0x428036
4168c7:	c3                   	ret
4168c8:	33 c0                	xor    %eax,%eax
4168ca:	89 41 08             	mov    %eax,0x8(%ecx)
4168cd:	89 41 10             	mov    %eax,0x10(%ecx)
4168d0:	89 41 0c             	mov    %eax,0xc(%ecx)
4168d3:	89 41 14             	mov    %eax,0x14(%ecx)
4168d6:	89 41 1c             	mov    %eax,0x1c(%ecx)
4168d9:	89 41 18             	mov    %eax,0x18(%ecx)
4168dc:	89 41 20             	mov    %eax,0x20(%ecx)
4168df:	89 41 28             	mov    %eax,0x28(%ecx)
4168e2:	89 41 24             	mov    %eax,0x24(%ecx)
4168e5:	89 41 48             	mov    %eax,0x48(%ecx)
4168e8:	89 41 50             	mov    %eax,0x50(%ecx)
4168eb:	89 41 4c             	mov    %eax,0x4c(%ecx)
4168ee:	89 41 54             	mov    %eax,0x54(%ecx)
4168f1:	89 41 5c             	mov    %eax,0x5c(%ecx)
4168f4:	89 41 58             	mov    %eax,0x58(%ecx)
4168f7:	89 41 60             	mov    %eax,0x60(%ecx)
4168fa:	89 41 68             	mov    %eax,0x68(%ecx)
4168fd:	89 41 64             	mov    %eax,0x64(%ecx)
416900:	89 41 6c             	mov    %eax,0x6c(%ecx)
416903:	89 41 74             	mov    %eax,0x74(%ecx)
416906:	89 41 70             	mov    %eax,0x70(%ecx)
416909:	89 81 88 00 00 00    	mov    %eax,0x88(%ecx)
41690f:	89 81 90 00 00 00    	mov    %eax,0x90(%ecx)
416915:	89 81 8c 00 00 00    	mov    %eax,0x8c(%ecx)
41691b:	89 81 94 00 00 00    	mov    %eax,0x94(%ecx)
416921:	89 81 9c 00 00 00    	mov    %eax,0x9c(%ecx)
416927:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
41692d:	89 81 ac 00 00 00    	mov    %eax,0xac(%ecx)
416933:	89 81 b4 00 00 00    	mov    %eax,0xb4(%ecx)
416939:	89 81 b0 00 00 00    	mov    %eax,0xb0(%ecx)
41693f:	89 81 b8 00 00 00    	mov    %eax,0xb8(%ecx)
416945:	89 81 c0 00 00 00    	mov    %eax,0xc0(%ecx)
41694b:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
416951:	89 81 d0 00 00 00    	mov    %eax,0xd0(%ecx)
416957:	89 81 d8 00 00 00    	mov    %eax,0xd8(%ecx)
41695d:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
416963:	89 81 dc 00 00 00    	mov    %eax,0xdc(%ecx)
416969:	89 81 e4 00 00 00    	mov    %eax,0xe4(%ecx)
41696f:	89 81 e0 00 00 00    	mov    %eax,0xe0(%ecx)
416975:	89 81 e8 00 00 00    	mov    %eax,0xe8(%ecx)
41697b:	89 81 f0 00 00 00    	mov    %eax,0xf0(%ecx)
416981:	89 81 ec 00 00 00    	mov    %eax,0xec(%ecx)
416987:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
41698d:	89 81 fc 00 00 00    	mov    %eax,0xfc(%ecx)
416993:	89 81 f8 00 00 00    	mov    %eax,0xf8(%ecx)
416999:	89 81 00 01 00 00    	mov    %eax,0x100(%ecx)
41699f:	89 81 08 01 00 00    	mov    %eax,0x108(%ecx)
4169a5:	89 81 04 01 00 00    	mov    %eax,0x104(%ecx)
4169ab:	89 81 0c 01 00 00    	mov    %eax,0x10c(%ecx)
4169b1:	89 81 14 01 00 00    	mov    %eax,0x114(%ecx)
4169b7:	89 81 10 01 00 00    	mov    %eax,0x110(%ecx)
4169bd:	89 41 2c             	mov    %eax,0x2c(%ecx)
4169c0:	89 41 30             	mov    %eax,0x30(%ecx)
4169c3:	89 41 78             	mov    %eax,0x78(%ecx)
4169c6:	89 41 7c             	mov    %eax,0x7c(%ecx)
4169c9:	83 89 28 01 00 00 ff 	orl    $0xffffffff,0x128(%ecx)
4169d0:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
4169d6:	89 41 34             	mov    %eax,0x34(%ecx)
4169d9:	89 81 a0 00 00 00    	mov    %eax,0xa0(%ecx)
4169df:	89 81 a4 00 00 00    	mov    %eax,0xa4(%ecx)
4169e5:	89 81 a8 00 00 00    	mov    %eax,0xa8(%ecx)
4169eb:	89 01                	mov    %eax,(%ecx)
4169ed:	89 41 38             	mov    %eax,0x38(%ecx)
4169f0:	89 41 40             	mov    %eax,0x40(%ecx)
4169f3:	89 41 44             	mov    %eax,0x44(%ecx)
4169f6:	89 41 04             	mov    %eax,0x4(%ecx)
4169f9:	89 81 c4 00 00 00    	mov    %eax,0xc4(%ecx)
4169ff:	89 81 cc 00 00 00    	mov    %eax,0xcc(%ecx)
416a05:	89 81 20 01 00 00    	mov    %eax,0x120(%ecx)
416a0b:	89 81 24 01 00 00    	mov    %eax,0x124(%ecx)
416a11:	89 81 84 00 00 00    	mov    %eax,0x84(%ecx)
416a17:	8b c1                	mov    %ecx,%eax
416a19:	c7 81 c8 00 00 00 03 	movl   $0x3,0xc8(%ecx)
416a20:	00 00 00
416a23:	c3                   	ret
416a24:	8b ff                	mov    %edi,%edi
416a26:	56                   	push   %esi
416a27:	8b f1                	mov    %ecx,%esi
416a29:	57                   	push   %edi
416a2a:	8b 86 28 01 00 00    	mov    0x128(%esi),%eax
416a30:	83 f8 ff             	cmp    $0xffffffff,%eax
416a33:	74 0e                	je     0x416a43
416a35:	50                   	push   %eax
416a36:	ff 15 30 c2 42 00    	call   *0x42c230
416a3c:	83 8e 28 01 00 00 ff 	orl    $0xffffffff,0x128(%esi)
416a43:	33 ff                	xor    %edi,%edi