41164b:	74 19                	je     0x411666
41164d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411651:	74 13                	je     0x411666
411653:	ff 70 14             	push   0x14(%eax)
411656:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41165b:	ff 70 10             	push   0x10(%eax)
41165e:	6a 30                	push   $0x30
411660:	59                   	pop    %ecx
411661:	e8 4a 5d ff ff       	call   0x4073b0
411666:	ff 15 18 c2 42 00    	call   *0x42c218
41166c:	8b c8                	mov    %eax,%ecx
41166e:	e8 37 9f ff ff       	call   0x40b5aa
411673:	8b d8                	mov    %eax,%ebx
411675:	e9 51 02 00 00       	jmp    0x4118cb
41167a:	56                   	push   %esi
41167b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41167e:	e8 8f 66 01 00       	call   0x427d12
411683:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
411687:	8b f8                	mov    %eax,%edi
411689:	8b 85 b4 fe ff ff    	mov    -0x14c(%ebp),%eax
41168f:	59                   	pop    %ecx
411690:	eb 26                	jmp    0x4116b8
411692:	b8 98 16 41 00       	mov    $0x411698,%eax
411697:	c3                   	ret
411698:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41169c:	33 db                	xor    %ebx,%ebx
41169e:	8b 8d c8 fe ff ff    	mov    -0x138(%ebp),%ecx
4116a4:	8b fb                	mov    %ebx,%edi
4116a6:	8b b5 b0 fe ff ff    	mov    -0x150(%ebp),%esi
4116ac:	8b 85 cc fe ff ff    	mov    -0x134(%ebp),%eax
4116b2:	89 8d dc fe ff ff    	mov    %ecx,-0x124(%ebp)
4116b8:	89 bd bc fe ff ff    	mov    %edi,-0x144(%ebp)
4116be:	85 ff                	test   %edi,%edi
4116c0:	75 2f                	jne    0x4116f1
4116c2:	a1 00 b0 42 00       	mov    0x42b000,%eax
4116c7:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4116cc:	74 19                	je     0x4116e7
4116ce:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4116d2:	74 13                	je     0x4116e7
4116d4:	ff 70 14             	push   0x14(%eax)
4116d7:	ba 8c 27 40 00       	mov    $0x40278c,%edx
4116dc:	ff 70 10             	push   0x10(%eax)
4116df:	6a 31                	push   $0x31
4116e1:	59                   	pop    %ecx
4116e2:	e8 c9 5c ff ff       	call   0x4073b0
4116e7:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
4116ec:	e9 da 01 00 00       	jmp    0x4118cb
4116f1:	57                   	push   %edi
4116f2:	56                   	push   %esi
4116f3:	ff b5 c4 fe ff ff    	push   -0x13c(%ebp)
4116f9:	50                   	push   %eax
4116fa:	6a 02                	push   $0x2
4116fc:	ff 15 e8 c1 42 00    	call   *0x42c1e8
411702:	85 c0                	test   %eax,%eax
411704:	75 39                	jne    0x41173f
411706:	a1 00 b0 42 00       	mov    0x42b000,%eax
41170b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411710:	74 19                	je     0x41172b
411712:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411716:	74 13                	je     0x41172b
411718:	ff 70 14             	push   0x14(%eax)
41171b:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411720:	ff 70 10             	push   0x10(%eax)
411723:	6a 32                	push   $0x32
411725:	59                   	pop    %ecx
411726:	e8 85 5c ff ff       	call   0x4073b0
41172b:	ff 15 18 c2 42 00    	call   *0x42c218
411731:	8b c8                	mov    %eax,%ecx
411733:	e8 72 9e ff ff       	call   0x40b5aa
411738:	8b d8                	mov    %eax,%ebx
41173a:	e9 85 01 00 00       	jmp    0x4118c4
41173f:	83 bd dc fe ff ff 00 	cmpl   $0x0,-0x124(%ebp)
411746:	74 35                	je     0x41177d
411748:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
41174e:	50                   	push   %eax
41174f:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
411755:	50                   	push   %eax
411756:	68 a8 1b 40 00       	push   $0x401ba8
41175b:	57                   	push   %edi
41175c:	ff 15 e4 c1 42 00    	call   *0x42c1e4
411762:	85 c0                	test   %eax,%eax
411764:	74 60                	je     0x4117c6
411766:	8b b5 c0 fe ff ff    	mov    -0x140(%ebp),%esi
41176c:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
411772:	6a 0d                	push   $0xd
411774:	59                   	pop    %ecx
411775:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
411777:	8b bd bc fe ff ff    	mov    -0x144(%ebp),%edi
41177d:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
411783:	50                   	push   %eax
411784:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
41178a:	50                   	push   %eax
41178b:	68 74 26 40 00       	push   $0x402674
411790:	57                   	push   %edi
411791:	ff 15 e4 c1 42 00    	call   *0x42c1e4
411797:	85 c0                	test   %eax,%eax
411799:	74 73                	je     0x41180e
41179b:	ff 15 48 c2 42 00    	call   *0x42c248
4117a1:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
4117a7:	8b cb                	mov    %ebx,%ecx
4117a9:	c1 ea 02             	shr    $0x2,%edx
4117ac:	0f b7 f0             	movzwl %ax,%esi
4117af:	8b 85 d8 fe ff ff    	mov    -0x128(%ebp),%eax
4117b5:	85 d2                	test   %edx,%edx
4117b7:	74 51                	je     0x41180a
4117b9:	66 3b 34 88          	cmp    (%eax,%ecx,4),%si
4117bd:	74 48                	je     0x411807
4117bf:	41                   	inc    %ecx
4117c0:	3b ca                	cmp    %edx,%ecx
4117c2:	72 f5                	jb     0x4117b9
4117c4:	eb 44                	jmp    0x41180a
4117c6:	ff 15 18 c2 42 00    	call   *0x42c218
4117cc:	8b c8                	mov    %eax,%ecx
4117ce:	e8 d7 9d ff ff       	call   0x40b5aa
4117d3:	8b d8                	mov    %eax,%ebx
4117d5:	a1 00 b0 42 00       	mov    0x42b000,%eax
4117da:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4117df:	0f 84 df 00 00 00    	je     0x4118c4
4117e5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4117e9:	0f 84 d5 00 00 00    	je     0x4118c4
4117ef:	ff 70 14             	push   0x14(%eax)
4117f2:	ba 8c 27 40 00       	mov    $0x40278c,%edx
4117f7:	ff 70 10             	push   0x10(%eax)
4117fa:	6a 33                	push   $0x33
4117fc:	59                   	pop    %ecx
4117fd:	e8 ae 5b ff ff       	call   0x4073b0
411802:	e9 bd 00 00 00       	jmp    0x4118c4
411807:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41180a:	8b 00                	mov    (%eax),%eax
41180c:	eb 09                	jmp    0x411817
41180e:	ff 15 48 c2 42 00    	call   *0x42c248
411814:	0f b7 c0             	movzwl %ax,%eax
411817:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
41181d:	85 d2                	test   %edx,%edx
41181f:	0f 84 9f 00 00 00    	je     0x4118c4
411825:	83 bd d4 fe ff ff 00 	cmpl   $0x0,-0x12c(%ebp)
41182c:	0f 84 92 00 00 00    	je     0x4118c4
411832:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
411836:	8b f3                	mov    %ebx,%esi
411838:	0f 86 86 00 00 00    	jbe    0x4118c4
41183e:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
411844:	8b c8                	mov    %eax,%ecx
411846:	c1 e9 10             	shr    $0x10,%ecx
411849:	0f b7 c0             	movzwl %ax,%eax
41184c:	89 8d c8 fe ff ff    	mov    %ecx,-0x138(%ebp)
411852:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
411858:	ff 34 b2             	push   (%edx,%esi,4)
41185b:	51                   	push   %ecx
41185c:	50                   	push   %eax
41185d:	68 a8 26 40 00       	push   $0x4026a8
411862:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
411868:	68 80 00 00 00       	push   $0x80
41186d:	50                   	push   %eax
41186e:	e8 aa 1c 00 00       	call   0x41351d
411873:	83 c4 18             	add    $0x18,%esp
411876:	85 c0                	test   %eax,%eax
411878:	78 2d                	js     0x4118a7
41187a:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
411880:	50                   	push   %eax
411881:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
411887:	50                   	push   %eax
411888:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
41188e:	50                   	push   %eax
41188f:	57                   	push   %edi
411890:	ff 15 e4 c1 42 00    	call   *0x42c1e4
411896:	85 c0                	test   %eax,%eax
411898:	74 0d                	je     0x4118a7
41189a:	ff b5 b8 fe ff ff    	push   -0x148(%ebp)
4118a0:	8b cb                	mov    %ebx,%ecx
4118a2:	e8 11 a8 ff ff       	call   0x40c0b8
4118a7:	8b 8d c8 fe ff ff    	mov    -0x138(%ebp),%ecx
4118ad:	46                   	inc    %esi
4118ae:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
4118b4:	83 c3 0c             	add    $0xc,%ebx
4118b7:	8b 85 cc fe ff ff    	mov    -0x134(%ebp),%eax
4118bd:	3b 75 10             	cmp    0x10(%ebp),%esi
4118c0:	72 96                	jb     0x411858
4118c2:	33 db                	xor    %ebx,%ebx
4118c4:	57                   	push   %edi
4118c5:	e8 71 64 01 00       	call   0x427d3b
4118ca:	59                   	pop    %ecx
4118cb:	8b c3                	mov    %ebx,%eax
4118cd:	e8 87 67 01 00       	call   0x428059
4118d2:	c2 0c 00             	ret    $0xc
4118d5:	6a 14                	push   $0x14
4118d7:	b8 5b 88 42 00       	mov    $0x42885b,%eax
4118dc:	e8 f0 67 01 00       	call   0x4280d1
4118e1:	8b f2                	mov    %edx,%esi
4118e3:	89 75 ec             	mov    %esi,-0x14(%ebp)
4118e6:	8b f9                	mov    %ecx,%edi
4118e8:	89 7d e8             	mov    %edi,-0x18(%ebp)
4118eb:	85 ff                	test   %edi,%edi
4118ed:	0f 84 fa 00 00 00    	je     0x4119ed
4118f3:	85 f6                	test   %esi,%esi
4118f5:	0f 84 f2 00 00 00    	je     0x4119ed
4118fb:	33 db                	xor    %ebx,%ebx
4118fd:	8d 51 02             	lea    0x2(%ecx),%edx
411900:	89 1e                	mov    %ebx,(%esi)
411902:	66 8b 01             	mov    (%ecx),%ax
411905:	83 c1 02             	add    $0x2,%ecx
411908:	66 3b c3             	cmp    %bx,%ax
41190b:	75 f5                	jne    0x411902
41190d:	2b ca                	sub    %edx,%ecx
41190f:	d1 f9                	sar    $1,%ecx
411911:	8d 41 01             	lea    0x1(%ecx),%eax
411914:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411917:	85 c0                	test   %eax,%eax
411919:	75 27                	jne    0x411942
41191b:	a1 00 b0 42 00       	mov    0x42b000,%eax
411920:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411925:	0f 84 e7 00 00 00    	je     0x411a12
41192b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41192f:	0f 84 dd 00 00 00    	je     0x411a12
411935:	ff 70 14             	push   0x14(%eax)
411938:	ff 70 10             	push   0x10(%eax)
41193b:	6a 40                	push   $0x40
41193d:	e9 c5 00 00 00       	jmp    0x411a07
411942:	33 c9                	xor    %ecx,%ecx
411944:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411947:	6a 02                	push   $0x2
411949:	5a                   	pop    %edx
41194a:	f7 e2                	mul    %edx
41194c:	0f 90 c1             	seto   %cl
41194f:	f7 d9                	neg    %ecx
411951:	0b c8                	or     %eax,%ecx
411953:	51                   	push   %ecx
411954:	e8 b9 63 01 00       	call   0x427d12
411959:	59                   	pop    %ecx
41195a:	89 06                	mov    %eax,(%esi)
41195c:	eb 0e                	jmp    0x41196c
41195e:	b8 64 19 41 00       	mov    $0x411964,%eax
411963:	c3                   	ret
411964:	8b 75 ec             	mov    -0x14(%ebp),%esi
411967:	33 db                	xor    %ebx,%ebx
411969:	8b 7d e8             	mov    -0x18(%ebp),%edi
41196c:	8b 0e                	mov    (%esi),%ecx
41196e:	85 c9                	test   %ecx,%ecx
411970:	75 2c                	jne    0x41199e
411972:	a1 00 b0 42 00       	mov    0x42b000,%eax
411977:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41197c:	74 19                	je     0x411997
41197e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411982:	74 13                	je     0x411997
411984:	ff 70 14             	push   0x14(%eax)
411987:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41198c:	ff 70 10             	push   0x10(%eax)
41198f:	6a 41                	push   $0x41
411991:	59                   	pop    %ecx
411992:	e8 19 5a ff ff       	call   0x4073b0
411997:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
41199c:	eb 3c                	jmp    0x4119da
41199e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4119a1:	57                   	push   %edi
4119a2:	e8 8e 70 ff ff       	call   0x408a35
4119a7:	8b f8                	mov    %eax,%edi
4119a9:	85 ff                	test   %edi,%edi
4119ab:	79 27                	jns    0x4119d4
4119ad:	a1 00 b0 42 00       	mov    0x42b000,%eax
4119b2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4119b7:	74 1d                	je     0x4119d6
4119b9:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4119bd:	74 17                	je     0x4119d6
4119bf:	ff 70 14             	push   0x14(%eax)
4119c2:	ba 8c 27 40 00       	mov    $0x40278c,%edx
4119c7:	ff 70 10             	push   0x10(%eax)
4119ca:	6a 42                	push   $0x42
4119cc:	59                   	pop    %ecx
4119cd:	e8 de 59 ff ff       	call   0x4073b0
4119d2:	eb 02                	jmp    0x4119d6
4119d4:	8b fb                	mov    %ebx,%edi
4119d6:	85 ff                	test   %edi,%edi
4119d8:	79 0f                	jns    0x4119e9
4119da:	83 3e 00             	cmpl   $0x0,(%esi)
4119dd:	74 0a                	je     0x4119e9
4119df:	ff 36                	push   (%esi)
4119e1:	e8 55 63 01 00       	call   0x427d3b
4119e6:	59                   	pop    %ecx
4119e7:	89 1e                	mov    %ebx,(%esi)
4119e9:	8b c7                	mov    %edi,%eax
4119eb:	eb 2a                	jmp    0x411a17
4119ed:	a1 00 b0 42 00       	mov    0x42b000,%eax
4119f2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4119f7:	74 19                	je     0x411a12
4119f9:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4119fd:	74 13                	je     0x411a12
4119ff:	ff 70 14             	push   0x14(%eax)
411a02:	ff 70 10             	push   0x10(%eax)
411a05:	6a 3f                	push   $0x3f
411a07:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411a0c:	59                   	pop    %ecx
411a0d:	e8 9e 59 ff ff       	call   0x4073b0
411a12:	b8 57 00 07 80       	mov    $0x80070057,%eax
411a17:	e8 1a 66 01 00       	call   0x428036
411a1c:	c3                   	ret
411a1d:	6a 0c                	push   $0xc
411a1f:	b8 7e 88 42 00       	mov    $0x42887e,%eax
411a24:	e8 3f 66 01 00       	call   0x428068
411a29:	8b f9                	mov    %ecx,%edi
411a2b:	33 f6                	xor    %esi,%esi
411a2d:	89 75 e8             	mov    %esi,-0x18(%ebp)
411a30:	89 75 f0             	mov    %esi,-0x10(%ebp)
411a33:	89 75 ec             	mov    %esi,-0x14(%ebp)
411a36:	8d 55 e8             	lea    -0x18(%ebp),%edx
411a39:	89 75 fc             	mov    %esi,-0x4(%ebp)
411a3c:	e8 00 1c 00 00       	call   0x413641
411a41:	85 c0                	test   %eax,%eax
411a43:	79 27                	jns    0x411a6c
411a45:	a1 00 b0 42 00       	mov    0x42b000,%eax
411a4a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411a4f:	74 7a                	je     0x411acb
411a51:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411a55:	74 74                	je     0x411acb
411a57:	ff 70 14             	push   0x14(%eax)
411a5a:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411a5f:	ff 70 10             	push   0x10(%eax)
411a62:	6a 44                	push   $0x44
411a64:	59                   	pop    %ecx
411a65:	e8 46 59 ff ff       	call   0x4073b0
411a6a:	eb 5f                	jmp    0x411acb
411a6c:	ff 75 e8             	push   -0x18(%ebp)
411a6f:	ff 15 3c c1 42 00    	call   *0x42c13c
411a75:	8b c8                	mov    %eax,%ecx
411a77:	f6 c1 10             	test   $0x10,%cl
411a7a:	75 28                	jne    0x411aa4
411a7c:	83 f9 ff             	cmp    $0xffffffff,%ecx
411a7f:	74 23                	je     0x411aa4
411a81:	56                   	push   %esi
411a82:	56                   	push   %esi
411a83:	6a 03                	push   $0x3
411a85:	56                   	push   %esi
411a86:	6a 07                	push   $0x7
411a88:	6a 01                	push   $0x1
411a8a:	ff 75 e8             	push   -0x18(%ebp)
411a8d:	ff 15 90 c1 42 00    	call   *0x42c190
411a93:	83 f8 ff             	cmp    $0xffffffff,%eax
411a96:	74 33                	je     0x411acb
411a98:	50                   	push   %eax
411a99:	ff 15 30 c2 42 00    	call   *0x42c230
411a9f:	33 f6                	xor    %esi,%esi
411aa1:	46                   	inc    %esi
411aa2:	eb 27                	jmp    0x411acb
411aa4:	a1 00 b0 42 00       	mov    0x42b000,%eax
411aa9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411aae:	74 1b                	je     0x411acb
411ab0:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
411ab4:	74 15                	je     0x411acb
411ab6:	51                   	push   %ecx
411ab7:	57                   	push   %edi
411ab8:	ff 70 14             	push   0x14(%eax)
411abb:	ba 8c 27 40 00       	mov    $0x40278c,%edx