4147ba:	50                   	push   %eax
4147bb:	68 00 00 01 00       	push   $0x10000
4147c0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4147c3:	c7 45 d0 40 00 00 00 	movl   $0x40,-0x30(%ebp)
4147ca:	50                   	push   %eax
4147cb:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4147ce:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4147d1:	89 7d d8             	mov    %edi,-0x28(%ebp)
4147d4:	ff 15 98 a4 44 00    	call   *0x44a498
4147da:	8b f0                	mov    %eax,%esi
4147dc:	8d 45 dc             	lea    -0x24(%ebp),%eax
4147df:	50                   	push   %eax
4147e0:	ff 15 94 a4 44 00    	call   *0x44a494
4147e6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4147e9:	50                   	push   %eax
4147ea:	ff 15 bc a4 44 00    	call   *0x44a4bc
4147f0:	85 f6                	test   %esi,%esi
4147f2:	0f 88 76 c1 00 00    	js     0x42096e
4147f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4147fb:	e8 23 00 00 00       	call   0x414823
414800:	85 c0                	test   %eax,%eax
414802:	0f 85 57 c1 00 00    	jne    0x42095f
414808:	33 f6                	xor    %esi,%esi
41480a:	46                   	inc    %esi
41480b:	ff 75 fc             	push   -0x4(%ebp)
41480e:	ff 15 1c a1 44 00    	call   *0x44a11c
414814:	85 f6                	test   %esi,%esi
414816:	0f 84 52 c1 00 00    	je     0x42096e
41481c:	8b c7                	mov    %edi,%eax
41481e:	5f                   	pop    %edi
41481f:	5e                   	pop    %esi
414820:	5b                   	pop    %ebx
414821:	c9                   	leave
414822:	c3                   	ret
414823:	8b ff                	mov    %edi,%edi
414825:	55                   	push   %ebp
414826:	8b ec                	mov    %esp,%ebp
414828:	81 ec 88 00 00 00    	sub    $0x88,%esp
41482e:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
414833:	33 c5                	xor    %ebp,%eax
414835:	89 45 fc             	mov    %eax,-0x4(%ebp)
414838:	56                   	push   %esi
414839:	57                   	push   %edi
41483a:	6a 04                	push   $0x4
41483c:	6a 08                	push   $0x8
41483e:	8d 45 80             	lea    -0x80(%ebp),%eax
414841:	8b f9                	mov    %ecx,%edi
414843:	50                   	push   %eax
414844:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41484a:	33 f6                	xor    %esi,%esi
41484c:	50                   	push   %eax
41484d:	57                   	push   %edi
41484e:	46                   	inc    %esi
41484f:	ff 15 a4 a4 44 00    	call   *0x44a4a4
414855:	85 c0                	test   %eax,%eax
414857:	78 0c                	js     0x414865
414859:	f6 45 84 10          	testb  $0x10,-0x7c(%ebp)
41485d:	0f 85 27 c1 00 00    	jne    0x42098a
414863:	33 f6                	xor    %esi,%esi
414865:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414868:	8b c6                	mov    %esi,%eax
41486a:	5f                   	pop    %edi
41486b:	33 cd                	xor    %ebp,%ecx
41486d:	5e                   	pop    %esi
41486e:	e8 bd 22 00 00       	call   0x416b30
414873:	c9                   	leave
414874:	c3                   	ret
414875:	8b ff                	mov    %edi,%edi
414877:	55                   	push   %ebp
414878:	8b ec                	mov    %esp,%ebp
41487a:	81 ec 34 02 00 00    	sub    $0x234,%esp
414880:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
414885:	33 c5                	xor    %ebp,%eax
414887:	89 45 fc             	mov    %eax,-0x4(%ebp)
41488a:	8b 45 08             	mov    0x8(%ebp),%eax
41488d:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
414893:	8b 45 10             	mov    0x10(%ebp),%eax
414896:	53                   	push   %ebx
414897:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
41489d:	8b 45 18             	mov    0x18(%ebp),%eax
4148a0:	56                   	push   %esi
4148a1:	8b f1                	mov    %ecx,%esi
4148a3:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
4148a9:	8b 45 1c             	mov    0x1c(%ebp),%eax
4148ac:	b9 1c 22 40 00       	mov    $0x40221c,%ecx
4148b1:	57                   	push   %edi
4148b2:	8b fa                	mov    %edx,%edi
4148b4:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
4148ba:	e8 d1 d4 ff ff       	call   0x411d90
4148bf:	8b d7                	mov    %edi,%edx
4148c1:	8b c8                	mov    %eax,%ecx
4148c3:	e8 e7 02 00 00       	call   0x414baf
4148c8:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4148cb:	33 c0                	xor    %eax,%eax
4148cd:	50                   	push   %eax
4148ce:	33 d2                	xor    %edx,%edx
4148d0:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4148d6:	e8 55 73 ff ff       	call   0x40bc30
4148db:	8b d8                	mov    %eax,%ebx
4148dd:	8b d7                	mov    %edi,%edx
4148df:	8b cb                	mov    %ebx,%ecx
4148e1:	e8 c9 02 00 00       	call   0x414baf
4148e6:	85 c0                	test   %eax,%eax
4148e8:	74 0b                	je     0x4148f5
4148ea:	0f b7 03             	movzwl (%ebx),%eax
4148ed:	83 c3 02             	add    $0x2,%ebx
4148f0:	66 85 c0             	test   %ax,%ax
4148f3:	75 f5                	jne    0x4148ea
4148f5:	8b f3                	mov    %ebx,%esi
4148f7:	33 d2                	xor    %edx,%edx
4148f9:	8d 4e 02             	lea    0x2(%esi),%ecx
4148fc:	66 8b 06             	mov    (%esi),%ax
4148ff:	83 c6 02             	add    $0x2,%esi
414902:	66 3b c2             	cmp    %dx,%ax
414905:	75 f5                	jne    0x4148fc
414907:	2b f1                	sub    %ecx,%esi
414909:	d1 fe                	sar    $1,%esi
41490b:	0f 84 b3 c0 00 00    	je     0x4209c4
414911:	81 fe e7 7f 00 00    	cmp    $0x7fe7,%esi
414917:	0f 83 ec c1 00 00    	jae    0x420b09
41491d:	8b fb                	mov    %ebx,%edi
41491f:	8d 4f 02             	lea    0x2(%edi),%ecx
414922:	66 8b 07             	mov    (%edi),%ax
414925:	83 c7 02             	add    $0x2,%edi
414928:	66 3b c2             	cmp    %dx,%ax
41492b:	75 f5                	jne    0x414922
41492d:	2b f9                	sub    %ecx,%edi
41492f:	8b cb                	mov    %ebx,%ecx
414931:	d1 ff                	sar    $1,%edi
414933:	e8 28 b7 ff ff       	call   0x410060
414938:	50                   	push   %eax
414939:	8d 57 01             	lea    0x1(%edi),%edx
41493c:	8b cb                	mov    %ebx,%ecx
41493e:	e8 5d aa ff ff       	call   0x40f3a0
414943:	8b cb                	mov    %ebx,%ecx
414945:	e8 e2 36 ff ff       	call   0x40802c
41494a:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
414950:	89 01                	mov    %eax,(%ecx)
414952:	83 f8 01             	cmp    $0x1,%eax
414955:	0f 84 61 c0 00 00    	je     0x4209bc
41495b:	33 c0                	xor    %eax,%eax
41495d:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
414961:	bf 04 01 00 00       	mov    $0x104,%edi
414966:	89 45 e8             	mov    %eax,-0x18(%ebp)
414969:	57                   	push   %edi
41496a:	50                   	push   %eax
41496b:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
414971:	89 7d f0             	mov    %edi,-0x10(%ebp)
414974:	50                   	push   %eax
414975:	e8 43 36 00 00       	call   0x417fbd
41497a:	33 c0                	xor    %eax,%eax
41497c:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414982:	83 c4 0c             	add    $0xc,%esp
414985:	38 45 ec             	cmp    %al,-0x14(%ebp)
414988:	0f 94 c0             	sete   %al
41498b:	48                   	dec    %eax
41498c:	25 e3 7e 00 00       	and    $0x7ee3,%eax
414991:	03 c7                	add    %edi,%eax
414993:	50                   	push   %eax
414994:	e8 57 9a ff ff       	call   0x40e3f0
414999:	85 c0                	test   %eax,%eax
41499b:	0f 88 2d c0 00 00    	js     0x4209ce
4149a1:	46                   	inc    %esi
4149a2:	33 ff                	xor    %edi,%edi
4149a4:	8d 34 73             	lea    (%ebx,%esi,2),%esi
4149a7:	66 39 3e             	cmp    %di,(%esi)
4149aa:	0f 84 25 c0 00 00    	je     0x4209d5
4149b0:	8b ce                	mov    %esi,%ecx
4149b2:	e8 1e 5e ff ff       	call   0x40a7d5
4149b7:	66 39 38             	cmp    %di,(%eax)
4149ba:	0f 85 04 c0 00 00    	jne    0x4209c4
4149c0:	8d 51 02             	lea    0x2(%ecx),%edx
4149c3:	66 8b 01             	mov    (%ecx),%ax
4149c6:	83 c1 02             	add    $0x2,%ecx
4149c9:	66 3b c7             	cmp    %di,%ax
4149cc:	75 f5                	jne    0x4149c3
4149ce:	2b ca                	sub    %edx,%ecx
4149d0:	d1 f9                	sar    $1,%ecx
4149d2:	81 f9 e7 7f 00 00    	cmp    $0x7fe7,%ecx
4149d8:	0f 87 2b c1 00 00    	ja     0x420b09
4149de:	8b fe                	mov    %esi,%edi
4149e0:	33 d2                	xor    %edx,%edx
4149e2:	8d 4f 02             	lea    0x2(%edi),%ecx
4149e5:	66 8b 07             	mov    (%edi),%ax
4149e8:	83 c7 02             	add    $0x2,%edi
4149eb:	66 3b c2             	cmp    %dx,%ax
4149ee:	75 f5                	jne    0x4149e5
4149f0:	2b f9                	sub    %ecx,%edi
4149f2:	8b ce                	mov    %esi,%ecx
4149f4:	d1 ff                	sar    $1,%edi
4149f6:	e8 65 b6 ff ff       	call   0x410060
4149fb:	50                   	push   %eax
4149fc:	8d 57 01             	lea    0x1(%edi),%edx
4149ff:	8b ce                	mov    %esi,%ecx
414a01:	e8 9a a9 ff ff       	call   0x40f3a0
414a06:	0f b7 46 02          	movzwl 0x2(%esi),%eax
414a0a:	6a 3a                	push   $0x3a
414a0c:	5a                   	pop    %edx
414a0d:	66 3b c2             	cmp    %dx,%ax
414a10:	0f 85 03 c0 00 00    	jne    0x420a19
414a16:	56                   	push   %esi
414a17:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414a1d:	e8 1f 5c ff ff       	call   0x40a641
414a22:	8b 7d 0c             	mov    0xc(%ebp),%edi
414a25:	8b d7                	mov    %edi,%edx
414a27:	8b b5 dc fd ff ff    	mov    -0x224(%ebp),%esi
414a2d:	8b ce                	mov    %esi,%ecx
414a2f:	53                   	push   %ebx
414a30:	e8 a0 d2 ff ff       	call   0x411cd5
414a35:	85 c0                	test   %eax,%eax
414a37:	0f 85 cc c0 00 00    	jne    0x420b09
414a3d:	8b 9d d4 fd ff ff    	mov    -0x22c(%ebp),%ebx
414a43:	8b 03                	mov    (%ebx),%eax
414a45:	8b 40 18             	mov    0x18(%eax),%eax
414a48:	f6 00 10             	testb  $0x10,(%eax)
414a4b:	75 43                	jne    0x414a90
414a4d:	6a 5c                	push   $0x5c
414a4f:	5a                   	pop    %edx
414a50:	8b ce                	mov    %esi,%ecx
414a52:	e8 9e b7 ff ff       	call   0x4101f5
414a57:	8b f0                	mov    %eax,%esi
414a59:	85 f6                	test   %esi,%esi
414a5b:	0f 84 5b c0 00 00    	je     0x420abc
414a61:	83 c6 02             	add    $0x2,%esi
414a64:	8b 0b                	mov    (%ebx),%ecx
414a66:	6a 5c                	push   $0x5c
414a68:	5a                   	pop    %edx
414a69:	8b 49 10             	mov    0x10(%ecx),%ecx
414a6c:	e8 84 b7 ff ff       	call   0x4101f5
414a71:	85 c0                	test   %eax,%eax
414a73:	75 05                	jne    0x414a7a
414a75:	8b 03                	mov    (%ebx),%eax
414a77:	8b 40 10             	mov    0x10(%eax),%eax
414a7a:	50                   	push   %eax
414a7b:	8b c6                	mov    %esi,%eax
414a7d:	8b ce                	mov    %esi,%ecx
414a7f:	2b 85 dc fd ff ff    	sub    -0x224(%ebp),%eax
414a85:	d1 f8                	sar    $1,%eax
414a87:	2b f8                	sub    %eax,%edi
414a89:	8b d7                	mov    %edi,%edx
414a8b:	e8 10 a9 ff ff       	call   0x40f3a0
414a90:	8b 45 e8             	mov    -0x18(%ebp),%eax
414a93:	85 c0                	test   %eax,%eax
414a95:	0f 84 2c c0 00 00    	je     0x420ac7
414a9b:	8b 9d d0 fd ff ff    	mov    -0x230(%ebp),%ebx
414aa1:	8b cb                	mov    %ebx,%ecx
414aa3:	8b 55 14             	mov    0x14(%ebp),%edx
414aa6:	50                   	push   %eax
414aa7:	e8 29 d2 ff ff       	call   0x411cd5
414aac:	85 c0                	test   %eax,%eax
414aae:	0f 85 55 c0 00 00    	jne    0x420b09
414ab4:	50                   	push   %eax
414ab5:	8b f0                	mov    %eax,%esi
414ab7:	a3 a8 67 43 00       	mov    %eax,0x4367a8
414abc:	ff 15 7c a0 44 00    	call   *0x44a07c
414ac2:	8b bd cc fd ff ff    	mov    -0x234(%ebp),%edi
414ac8:	33 c0                	xor    %eax,%eax
414aca:	8b cb                	mov    %ebx,%ecx
414acc:	89 07                	mov    %eax,(%edi)
414ace:	0f b7 03             	movzwl (%ebx),%eax
414ad1:	8b d0                	mov    %eax,%edx
414ad3:	66 85 c0             	test   %ax,%ax
414ad6:	74 0f                	je     0x414ae7
414ad8:	33 d2                	xor    %edx,%edx
414ada:	8b c1                	mov    %ecx,%eax
414adc:	83 c1 02             	add    $0x2,%ecx
414adf:	66 39 11             	cmp    %dx,(%ecx)
414ae2:	75 f6                	jne    0x414ada
414ae4:	0f b7 10             	movzwl (%eax),%edx
414ae7:	6a 5c                	push   $0x5c
414ae9:	58                   	pop    %eax
414aea:	66 3b d0             	cmp    %ax,%dx
414aed:	0f 84 df bf 00 00    	je     0x420ad2
414af3:	53                   	push   %ebx
414af4:	ff 15 98 a0 44 00    	call   *0x44a098
414afa:	83 f8 ff             	cmp    $0xffffffff,%eax
414afd:	75 43                	jne    0x414b42
414aff:	ff 15 80 a0 44 00    	call   *0x44a080
414b05:	a3 a8 67 43 00       	mov    %eax,0x4367a8
414b0a:	85 c0                	test   %eax,%eax
414b0c:	74 09                	je     0x414b17
414b0e:	83 f8 02             	cmp    $0x2,%eax
414b11:	0f 85 e2 bf 00 00    	jne    0x420af9
414b17:	85 f6                	test   %esi,%esi
414b19:	75 34                	jne    0x414b4f
414b1b:	8b 45 e8             	mov    -0x18(%ebp),%eax
414b1e:	33 c9                	xor    %ecx,%ecx
414b20:	89 4d e8             	mov    %ecx,-0x18(%ebp)
414b23:	85 c0                	test   %eax,%eax
414b25:	74 08                	je     0x414b2f
414b27:	50                   	push   %eax
414b28:	ff 15 e0 a3 44 00    	call   *0x44a3e0
414b2e:	59                   	pop    %ecx
414b2f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414b32:	33 c0                	xor    %eax,%eax
414b34:	5f                   	pop    %edi
414b35:	5e                   	pop    %esi
414b36:	33 cd                	xor    %ebp,%ecx
414b38:	5b                   	pop    %ebx
414b39:	e8 f2 1f 00 00       	call   0x416b30
414b3e:	c9                   	leave
414b3f:	c2 18 00             	ret    $0x18
414b42:	a8 10                	test   $0x10,%al
414b44:	74 d1                	je     0x414b17
414b46:	33 c0                	xor    %eax,%eax
414b48:	40                   	inc    %eax
414b49:	89 07                	mov    %eax,(%edi)
414b4b:	8b f0                	mov    %eax,%esi
414b4d:	eb c8                	jmp    0x414b17
414b4f:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
414b55:	6a 5c                	push   $0x5c
414b57:	58                   	pop    %eax
414b58:	8b d0                	mov    %eax,%edx
414b5a:	e8 96 b6 ff ff       	call   0x4101f5
414b5f:	8b d0                	mov    %eax,%edx
414b61:	33 f6                	xor    %esi,%esi
414b63:	8b fa                	mov    %edx,%edi
414b65:	8d 47 02             	lea    0x2(%edi),%eax
414b68:	66 8b 0f             	mov    (%edi),%cx
414b6b:	83 c7 02             	add    $0x2,%edi
414b6e:	66 3b ce             	cmp    %si,%cx
414b71:	75 f5                	jne    0x414b68
414b73:	8b f3                	mov    %ebx,%esi
414b75:	2b f8                	sub    %eax,%edi
414b77:	d1 ff                	sar    $1,%edi
414b79:	8d 4e 02             	lea    0x2(%esi),%ecx
414b7c:	66 8b 06             	mov    (%esi),%ax
414b7f:	83 c6 02             	add    $0x2,%esi
414b82:	66 3b 85 d8 fd ff ff 	cmp    -0x228(%ebp),%ax
414b89:	75 f1                	jne    0x414b7c
414b8b:	2b f1                	sub    %ecx,%esi
414b8d:	8d 47 01             	lea    0x1(%edi),%eax
414b90:	d1 fe                	sar    $1,%esi
414b92:	03 c6                	add    %esi,%eax
414b94:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
414b99:	0f 87 6a bf 00 00    	ja     0x420b09
414b9f:	52                   	push   %edx
414ba0:	8b 55 14             	mov    0x14(%ebp),%edx
414ba3:	8b cb                	mov    %ebx,%ecx
414ba5:	e8 96 b0 ff ff       	call   0x40fc40
414baa:	e9 6c ff ff ff       	jmp    0x414b1b
414baf:	8b ff                	mov    %edi,%edi
414bb1:	55                   	push   %ebp
414bb2:	8b ec                	mov    %esp,%ebp
414bb4:	51                   	push   %ecx
414bb5:	51                   	push   %ecx
414bb6:	57                   	push   %edi
414bb7:	8b f9                	mov    %ecx,%edi
414bb9:	89 55 f8             	mov    %edx,-0x8(%ebp)
414bbc:	33 c9                	xor    %ecx,%ecx