4447ee:	85 c0                	test   %eax,%eax
4447f0:	75 0a                	jne    0x4447fc
4447f2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4447f5:	83 c7 04             	add    $0x4,%edi
4447f8:	89 39                	mov    %edi,(%ecx)
4447fa:	eb 0b                	jmp    0x444807
4447fc:	79 06                	jns    0x444804
4447fe:	4e                   	dec    %esi
4447ff:	89 75 0c             	mov    %esi,0xc(%ebp)
444802:	eb 03                	jmp    0x444807
444804:	8d 5e 01             	lea    0x1(%esi),%ebx
444807:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
44480a:	7e be                	jle    0x4447ca
44480c:	5f                   	pop    %edi
44480d:	5e                   	pop    %esi
44480e:	33 c9                	xor    %ecx,%ecx
444810:	85 c0                	test   %eax,%eax
444812:	0f 94 c1             	sete   %cl
444815:	5b                   	pop    %ebx
444816:	8b c1                	mov    %ecx,%eax
444818:	5d                   	pop    %ebp
444819:	c3                   	ret
44481a:	81 4e 08 04 01 00 00 	orl    $0x104,0x8(%esi)
444821:	ff 15 c4 35 47 00    	call   *0x4735c4
444827:	89 46 1c             	mov    %eax,0x1c(%esi)
44482a:	89 46 18             	mov    %eax,0x18(%esi)
44482d:	c3                   	ret
44482e:	8b ff                	mov    %edi,%edi
444830:	55                   	push   %ebp
444831:	8b ec                	mov    %esp,%ebp
444833:	51                   	push   %ecx
444834:	85 f6                	test   %esi,%esi
444836:	74 50                	je     0x444888
444838:	80 3e 00             	cmpb   $0x0,(%esi)
44483b:	74 4b                	je     0x444888
44483d:	68 f8 a4 46 00       	push   $0x46a4f8
444842:	56                   	push   %esi
444843:	e8 e8 fe ff ff       	call   0x444730
444848:	59                   	pop    %ecx
444849:	59                   	pop    %ecx
44484a:	85 c0                	test   %eax,%eax
44484c:	74 3a                	je     0x444888
44484e:	68 f4 a4 46 00       	push   $0x46a4f4
444853:	56                   	push   %esi
444854:	e8 d7 fe ff ff       	call   0x444730
444859:	59                   	pop    %ecx
44485a:	59                   	pop    %ecx
44485b:	85 c0                	test   %eax,%eax
44485d:	75 1d                	jne    0x44487c
44485f:	6a 02                	push   $0x2
444861:	8d 45 fc             	lea    -0x4(%ebp),%eax
444864:	50                   	push   %eax
444865:	68 0b 00 00 20       	push   $0x2000000b
44486a:	ff 77 1c             	push   0x1c(%edi)
44486d:	ff 15 18 35 47 00    	call   *0x473518
444873:	85 c0                	test   %eax,%eax
444875:	74 29                	je     0x4448a0
444877:	8b 45 fc             	mov    -0x4(%ebp),%eax
44487a:	c9                   	leave
44487b:	c3                   	ret
44487c:	56                   	push   %esi
44487d:	e8 cc be fe ff       	call   0x43074e
444882:	59                   	pop    %ecx
444883:	89 45 fc             	mov    %eax,-0x4(%ebp)
444886:	eb ef                	jmp    0x444877
444888:	6a 02                	push   $0x2
44488a:	8d 45 fc             	lea    -0x4(%ebp),%eax
44488d:	50                   	push   %eax
44488e:	68 04 10 00 20       	push   $0x20001004
444893:	ff 77 1c             	push   0x1c(%edi)
444896:	ff 15 18 35 47 00    	call   *0x473518
44489c:	85 c0                	test   %eax,%eax
44489e:	75 04                	jne    0x4448a4
4448a0:	33 c0                	xor    %eax,%eax
4448a2:	c9                   	leave
4448a3:	c3                   	ret
4448a4:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4448a8:	75 cd                	jne    0x444877
4448aa:	ff 15 8c 35 47 00    	call   *0x47358c
4448b0:	c9                   	leave
4448b1:	c3                   	ret
4448b2:	8b ff                	mov    %edi,%edi
4448b4:	55                   	push   %ebp
4448b5:	8b ec                	mov    %esp,%ebp
4448b7:	33 c0                	xor    %eax,%eax
4448b9:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4448bd:	66 3b 88 e0 a4 46 00 	cmp    0x46a4e0(%eax),%cx
4448c4:	74 0d                	je     0x4448d3
4448c6:	83 c0 02             	add    $0x2,%eax
4448c9:	83 f8 14             	cmp    $0x14,%eax
4448cc:	72 eb                	jb     0x4448b9
4448ce:	33 c0                	xor    %eax,%eax
4448d0:	40                   	inc    %eax
4448d1:	5d                   	pop    %ebp
4448d2:	c3                   	ret
4448d3:	33 c0                	xor    %eax,%eax
4448d5:	5d                   	pop    %ebp
4448d6:	c3                   	ret
4448d7:	8b ff                	mov    %edi,%edi
4448d9:	56                   	push   %esi
4448da:	33 f6                	xor    %esi,%esi
4448dc:	eb 20                	jmp    0x4448fe
4448de:	8d 41 9f             	lea    -0x61(%ecx),%eax
4448e1:	42                   	inc    %edx
4448e2:	3c 05                	cmp    $0x5,%al
4448e4:	77 05                	ja     0x4448eb
4448e6:	80 c1 d9             	add    $0xd9,%cl
4448e9:	eb 0a                	jmp    0x4448f5
4448eb:	8d 41 bf             	lea    -0x41(%ecx),%eax
4448ee:	3c 05                	cmp    $0x5,%al
4448f0:	77 03                	ja     0x4448f5
4448f2:	80 c1 f9             	add    $0xf9,%cl
4448f5:	0f be c1             	movsbl %cl,%eax
4448f8:	03 f6                	add    %esi,%esi
4448fa:	8d 74 f0 d0          	lea    -0x30(%eax,%esi,8),%esi
4448fe:	8a 0a                	mov    (%edx),%cl
444900:	84 c9                	test   %cl,%cl
444902:	75 da                	jne    0x4448de
444904:	8b c6                	mov    %esi,%eax
444906:	5e                   	pop    %esi
444907:	c3                   	ret
444908:	33 c0                	xor    %eax,%eax
44490a:	8a 0a                	mov    (%edx),%cl
44490c:	42                   	inc    %edx
44490d:	80 f9 41             	cmp    $0x41,%cl
444910:	7c 05                	jl     0x444917
444912:	80 f9 5a             	cmp    $0x5a,%cl
444915:	7e 08                	jle    0x44491f
444917:	80 e9 61             	sub    $0x61,%cl
44491a:	80 f9 19             	cmp    $0x19,%cl
44491d:	77 03                	ja     0x444922
44491f:	40                   	inc    %eax
444920:	eb e8                	jmp    0x44490a
444922:	c3                   	ret
444923:	8b ff                	mov    %edi,%edi
444925:	55                   	push   %ebp
444926:	8b ec                	mov    %esp,%ebp
444928:	83 ec 7c             	sub    $0x7c,%esp
44492b:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
444930:	33 c5                	xor    %ebp,%eax
444932:	89 45 fc             	mov    %eax,-0x4(%ebp)
444935:	56                   	push   %esi
444936:	57                   	push   %edi
444937:	8b 7d 08             	mov    0x8(%ebp),%edi
44493a:	e8 e9 fc fe ff       	call   0x434628
44493f:	8b d7                	mov    %edi,%edx
444941:	8b f0                	mov    %eax,%esi
444943:	e8 8f ff ff ff       	call   0x4448d7
444948:	8b f8                	mov    %eax,%edi
44494a:	6a 78                	push   $0x78
44494c:	8d 45 84             	lea    -0x7c(%ebp),%eax
44494f:	50                   	push   %eax
444950:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
444956:	f7 d8                	neg    %eax
444958:	1b c0                	sbb    %eax,%eax
44495a:	25 05 f0 ff ff       	and    $0xfffff005,%eax
44495f:	05 02 10 00 00       	add    $0x1002,%eax
444964:	50                   	push   %eax
444965:	57                   	push   %edi
444966:	ff 15 c8 35 47 00    	call   *0x4735c8
44496c:	85 c0                	test   %eax,%eax
44496e:	75 09                	jne    0x444979
444970:	21 86 a4 00 00 00    	and    %eax,0xa4(%esi)
444976:	40                   	inc    %eax
444977:	eb 41                	jmp    0x4449ba
444979:	8d 45 84             	lea    -0x7c(%ebp),%eax
44497c:	50                   	push   %eax
44497d:	ff b6 a0 00 00 00    	push   0xa0(%esi)
444983:	e8 c5 ea fe ff       	call   0x43344d
444988:	59                   	pop    %ecx
444989:	59                   	pop    %ecx
44498a:	85 c0                	test   %eax,%eax
44498c:	75 1e                	jne    0x4449ac
44498e:	57                   	push   %edi
44498f:	e8 1e ff ff ff       	call   0x4448b2
444994:	59                   	pop    %ecx
444995:	85 c0                	test   %eax,%eax
444997:	74 13                	je     0x4449ac
444999:	83 8e a4 00 00 00 04 	orl    $0x4,0xa4(%esi)
4449a0:	89 be b8 00 00 00    	mov    %edi,0xb8(%esi)
4449a6:	89 be b4 00 00 00    	mov    %edi,0xb4(%esi)
4449ac:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
4449b2:	c1 e8 02             	shr    $0x2,%eax
4449b5:	f7 d0                	not    %eax
4449b7:	83 e0 01             	and    $0x1,%eax
4449ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4449bd:	5f                   	pop    %edi
4449be:	33 cd                	xor    %ebp,%ecx
4449c0:	5e                   	pop    %esi
4449c1:	e8 cb 9f ff ff       	call   0x43e991
4449c6:	c9                   	leave
4449c7:	c2 04 00             	ret    $0x4
4449ca:	8b ff                	mov    %edi,%edi
4449cc:	55                   	push   %ebp
4449cd:	8b ec                	mov    %esp,%ebp
4449cf:	51                   	push   %ecx
4449d0:	56                   	push   %esi
4449d1:	8b f0                	mov    %eax,%esi
4449d3:	6a 02                	push   $0x2
4449d5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4449d8:	50                   	push   %eax
4449d9:	8b c6                	mov    %esi,%eax
4449db:	25 ff 03 00 00       	and    $0x3ff,%eax
4449e0:	68 01 00 00 20       	push   $0x20000001
4449e5:	0d 00 04 00 00       	or     $0x400,%eax
4449ea:	50                   	push   %eax
4449eb:	ff 15 18 35 47 00    	call   *0x473518
4449f1:	85 c0                	test   %eax,%eax
4449f3:	75 04                	jne    0x4449f9
4449f5:	33 c0                	xor    %eax,%eax
4449f7:	eb 29                	jmp    0x444a22
4449f9:	3b 75 fc             	cmp    -0x4(%ebp),%esi
4449fc:	74 21                	je     0x444a1f
4449fe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
444a02:	74 1b                	je     0x444a1f
444a04:	8b 45 0c             	mov    0xc(%ebp),%eax
444a07:	8b 30                	mov    (%eax),%esi
444a09:	57                   	push   %edi
444a0a:	8b d6                	mov    %esi,%edx
444a0c:	e8 f7 fe ff ff       	call   0x444908
444a11:	56                   	push   %esi
444a12:	8b f8                	mov    %eax,%edi
444a14:	e8 57 68 ff ff       	call   0x43b270
444a19:	59                   	pop    %ecx
444a1a:	3b f8                	cmp    %eax,%edi
444a1c:	5f                   	pop    %edi
444a1d:	74 d6                	je     0x4449f5
444a1f:	33 c0                	xor    %eax,%eax
444a21:	40                   	inc    %eax
444a22:	5e                   	pop    %esi
444a23:	c9                   	leave
444a24:	c3                   	ret
444a25:	8b ff                	mov    %edi,%edi
444a27:	55                   	push   %ebp
444a28:	8b ec                	mov    %esp,%ebp
444a2a:	83 ec 7c             	sub    $0x7c,%esp
444a2d:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
444a32:	33 c5                	xor    %ebp,%eax
444a34:	89 45 fc             	mov    %eax,-0x4(%ebp)
444a37:	53                   	push   %ebx
444a38:	56                   	push   %esi
444a39:	57                   	push   %edi
444a3a:	8b 7d 08             	mov    0x8(%ebp),%edi
444a3d:	e8 e6 fb fe ff       	call   0x434628
444a42:	8b d7                	mov    %edi,%edx
444a44:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
444a4a:	e8 88 fe ff ff       	call   0x4448d7
444a4f:	8b 1d c8 35 47 00    	mov    0x4735c8,%ebx
444a55:	8b f8                	mov    %eax,%edi
444a57:	6a 78                	push   $0x78
444a59:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a5c:	50                   	push   %eax
444a5d:	8b 46 14             	mov    0x14(%esi),%eax
444a60:	f7 d8                	neg    %eax
444a62:	1b c0                	sbb    %eax,%eax
444a64:	25 05 f0 ff ff       	and    $0xfffff005,%eax
444a69:	05 02 10 00 00       	add    $0x1002,%eax
444a6e:	50                   	push   %eax
444a6f:	57                   	push   %edi
444a70:	ff d3                	call   *%ebx
444a72:	85 c0                	test   %eax,%eax
444a74:	75 0c                	jne    0x444a82
444a76:	83 66 08 00          	andl   $0x0,0x8(%esi)
444a7a:	33 c0                	xor    %eax,%eax
444a7c:	40                   	inc    %eax
444a7d:	e9 63 01 00 00       	jmp    0x444be5
444a82:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a85:	50                   	push   %eax
444a86:	ff 76 04             	push   0x4(%esi)
444a89:	e8 bf e9 fe ff       	call   0x43344d
444a8e:	59                   	pop    %ecx
444a8f:	59                   	pop    %ecx
444a90:	85 c0                	test   %eax,%eax
444a92:	0f 85 91 00 00 00    	jne    0x444b29
444a98:	6a 78                	push   $0x78
444a9a:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a9d:	50                   	push   %eax
444a9e:	8b 46 10             	mov    0x10(%esi),%eax
444aa1:	f7 d8                	neg    %eax
444aa3:	1b c0                	sbb    %eax,%eax
444aa5:	25 02 f0 ff ff       	and    $0xfffff002,%eax
444aaa:	05 01 10 00 00       	add    $0x1001,%eax
444aaf:	50                   	push   %eax
444ab0:	57                   	push   %edi
444ab1:	ff d3                	call   *%ebx
444ab3:	85 c0                	test   %eax,%eax
444ab5:	74 bf                	je     0x444a76
444ab7:	8d 45 84             	lea    -0x7c(%ebp),%eax
444aba:	50                   	push   %eax
444abb:	ff 36                	push   (%esi)
444abd:	e8 8b e9 fe ff       	call   0x43344d
444ac2:	59                   	pop    %ecx
444ac3:	59                   	pop    %ecx
444ac4:	85 c0                	test   %eax,%eax
444ac6:	75 0c                	jne    0x444ad4
444ac8:	81 4e 08 04 03 00 00 	orl    $0x304,0x8(%esi)
444acf:	89 7e 18             	mov    %edi,0x18(%esi)
444ad2:	eb 52                	jmp    0x444b26
444ad4:	f6 46 08 02          	testb  $0x2,0x8(%esi)
444ad8:	75 4f                	jne    0x444b29
444ada:	8b 46 0c             	mov    0xc(%esi),%eax
444add:	85 c0                	test   %eax,%eax
444adf:	74 2c                	je     0x444b0d
444ae1:	50                   	push   %eax
444ae2:	8d 45 84             	lea    -0x7c(%ebp),%eax
444ae5:	50                   	push   %eax
444ae6:	ff 36                	push   (%esi)
444ae8:	e8 01 33 00 00       	call   0x447dee
444aed:	83 c4 0c             	add    $0xc,%esp
444af0:	85 c0                	test   %eax,%eax
444af2:	75 19                	jne    0x444b0d
444af4:	ff 36                	push   (%esi)
444af6:	83 4e 08 02          	orl    $0x2,0x8(%esi)
444afa:	89 7e 1c             	mov    %edi,0x1c(%esi)
444afd:	e8 6e 67 ff ff       	call   0x43b270
444b02:	59                   	pop    %ecx
444b03:	3b 46 0c             	cmp    0xc(%esi),%eax
444b06:	75 21                	jne    0x444b29
444b08:	89 7e 18             	mov    %edi,0x18(%esi)
444b0b:	eb 1c                	jmp    0x444b29
444b0d:	8b 56 08             	mov    0x8(%esi),%edx
444b10:	f6 c2 01             	test   $0x1,%dl
444b13:	75 14                	jne    0x444b29
444b15:	57                   	push   %edi
444b16:	e8 97 fd ff ff       	call   0x4448b2
444b1b:	59                   	pop    %ecx
444b1c:	85 c0                	test   %eax,%eax
444b1e:	74 09                	je     0x444b29
444b20:	83 ca 01             	or     $0x1,%edx
444b23:	89 56 08             	mov    %edx,0x8(%esi)
444b26:	89 7e 1c             	mov    %edi,0x1c(%esi)
444b29:	8b 4e 08             	mov    0x8(%esi),%ecx
444b2c:	b8 00 03 00 00       	mov    $0x300,%eax
444b31:	23 c8                	and    %eax,%ecx
444b33:	3b c8                	cmp    %eax,%ecx
444b35:	0f 84 9f 00 00 00    	je     0x444bda
444b3b:	6a 78                	push   $0x78
444b3d:	8d 45 84             	lea    -0x7c(%ebp),%eax
444b40:	50                   	push   %eax
444b41:	8b 46 10             	mov    0x10(%esi),%eax
444b44:	f7 d8                	neg    %eax
444b46:	1b c0                	sbb    %eax,%eax
444b48:	25 02 f0 ff ff       	and    $0xfffff002,%eax
444b4d:	05 01 10 00 00       	add    $0x1001,%eax
444b52:	50                   	push   %eax
444b53:	57                   	push   %edi
444b54:	ff d3                	call   *%ebx
444b56:	85 c0                	test   %eax,%eax
444b58:	0f 84 18 ff ff ff    	je     0x444a76
444b5e:	8d 45 84             	lea    -0x7c(%ebp),%eax