41089d:	73 05                	jae    0x4108a4
41089f:	6a 64                	push   $0x64
4108a1:	58                   	pop    %eax
4108a2:	eb 0d                	jmp    0x4108b1
4108a4:	51                   	push   %ecx
4108a5:	50                   	push   %eax
4108a6:	ff 75 0c             	push   0xc(%ebp)
4108a9:	ff 75 08             	push   0x8(%ebp)
4108ac:	e8 ae ff ff ff       	call   0x41085f
4108b1:	5d                   	pop    %ebp
4108b2:	c2 10 00             	ret    $0x10
4108b5:	56                   	push   %esi
4108b6:	8b 74 24 10          	mov    0x10(%esp),%esi
4108ba:	57                   	push   %edi
4108bb:	8b 7c 24 10          	mov    0x10(%esp),%edi
4108bf:	56                   	push   %esi
4108c0:	57                   	push   %edi
4108c1:	ff 74 24 14          	push   0x14(%esp)
4108c5:	ff 15 c0 a2 42 00    	call   *0x42a2c0
4108cb:	c6 44 37 ff 00       	movb   $0x0,-0x1(%edi,%esi,1)
4108d0:	5f                   	pop    %edi
4108d1:	5e                   	pop    %esi
4108d2:	c2 0c 00             	ret    $0xc
4108d5:	66 83 7c 24 04 69    	cmpw   $0x69,0x4(%esp)
4108db:	75 05                	jne    0x4108e2
4108dd:	6a 49                	push   $0x49
4108df:	58                   	pop    %eax
4108e0:	eb 0b                	jmp    0x4108ed
4108e2:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
4108e7:	50                   	push   %eax
4108e8:	e8 2e 12 00 00       	call   0x411b1b
4108ed:	c2 04 00             	ret    $0x4
4108f0:	8b 44 24 04          	mov    0x4(%esp),%eax
4108f4:	83 c0 d0             	add    $0xffffffd0,%eax
4108f7:	6a 09                	push   $0x9
4108f9:	59                   	pop    %ecx
4108fa:	3b c8                	cmp    %eax,%ecx
4108fc:	1b c0                	sbb    %eax,%eax
4108fe:	40                   	inc    %eax
4108ff:	c2 04 00             	ret    $0x4
410902:	83 7c 24 04 20       	cmpl   $0x20,0x4(%esp)
410907:	74 0b                	je     0x410914
410909:	83 7c 24 04 09       	cmpl   $0x9,0x4(%esp)
41090e:	74 04                	je     0x410914
410910:	33 c0                	xor    %eax,%eax
410912:	eb 03                	jmp    0x410917
410914:	33 c0                	xor    %eax,%eax
410916:	40                   	inc    %eax
410917:	c2 04 00             	ret    $0x4
41091a:	e9 79 11 00 00       	jmp    0x411a98
41091f:	56                   	push   %esi
410920:	8b 74 24 10          	mov    0x10(%esp),%esi
410924:	57                   	push   %edi
410925:	8b 7c 24 0c          	mov    0xc(%esp),%edi
410929:	85 f6                	test   %esi,%esi
41092b:	76 18                	jbe    0x410945
41092d:	8d 46 ff             	lea    -0x1(%esi),%eax
410930:	50                   	push   %eax
410931:	ff 74 24 14          	push   0x14(%esp)
410935:	57                   	push   %edi
410936:	e8 76 ba 00 00       	call   0x41c3b1
41093b:	83 c4 0c             	add    $0xc,%esp
41093e:	33 c0                	xor    %eax,%eax
410940:	66 89 44 77 fe       	mov    %ax,-0x2(%edi,%esi,2)
410945:	8b c7                	mov    %edi,%eax
410947:	5f                   	pop    %edi
410948:	5e                   	pop    %esi
410949:	c2 0c 00             	ret    $0xc
41094c:	55                   	push   %ebp
41094d:	8b ec                	mov    %esp,%ebp
41094f:	ff 75 08             	push   0x8(%ebp)
410952:	e8 34 98 00 00       	call   0x41a18b
410957:	59                   	pop    %ecx
410958:	8b 4d 10             	mov    0x10(%ebp),%ecx
41095b:	8d 50 01             	lea    0x1(%eax),%edx
41095e:	3b d1                	cmp    %ecx,%edx
410960:	73 12                	jae    0x410974
410962:	2b c8                	sub    %eax,%ecx
410964:	49                   	dec    %ecx
410965:	51                   	push   %ecx
410966:	ff 75 0c             	push   0xc(%ebp)
410969:	ff 75 08             	push   0x8(%ebp)
41096c:	e8 d4 c5 00 00       	call   0x41cf45
410971:	83 c4 0c             	add    $0xc,%esp
410974:	8b 45 08             	mov    0x8(%ebp),%eax
410977:	5d                   	pop    %ebp
410978:	c2 0c 00             	ret    $0xc
41097b:	55                   	push   %ebp
41097c:	8b ec                	mov    %esp,%ebp
41097e:	83 ec 6c             	sub    $0x6c,%esp
410981:	56                   	push   %esi
410982:	33 f6                	xor    %esi,%esi
410984:	53                   	push   %ebx
410985:	6a 00                	push   $0x0
410987:	6a 0a                	push   $0xa
410989:	ff 75 0c             	push   0xc(%ebp)
41098c:	ff 75 08             	push   0x8(%ebp)
41098f:	e8 fc c5 00 00       	call   0x41cf90
410994:	83 c1 30             	add    $0x30,%ecx
410997:	66 89 4c 75 94       	mov    %cx,-0x6c(%ebp,%esi,2)
41099c:	46                   	inc    %esi
41099d:	89 45 08             	mov    %eax,0x8(%ebp)
4109a0:	0b c2                	or     %edx,%eax
4109a2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4109a5:	89 55 0c             	mov    %edx,0xc(%ebp)
4109a8:	75 db                	jne    0x410985
4109aa:	8b 55 10             	mov    0x10(%ebp),%edx
4109ad:	5b                   	pop    %ebx
4109ae:	85 f6                	test   %esi,%esi
4109b0:	76 14                	jbe    0x4109c6
4109b2:	8d 4c 75 92          	lea    -0x6e(%ebp,%esi,2),%ecx
4109b6:	57                   	push   %edi
4109b7:	66 8b 39             	mov    (%ecx),%di
4109ba:	66 89 3c 42          	mov    %di,(%edx,%eax,2)
4109be:	40                   	inc    %eax
4109bf:	49                   	dec    %ecx
4109c0:	49                   	dec    %ecx
4109c1:	3b c6                	cmp    %esi,%eax
4109c3:	72 f2                	jb     0x4109b7
4109c5:	5f                   	pop    %edi
4109c6:	33 c0                	xor    %eax,%eax
4109c8:	66 89 04 72          	mov    %ax,(%edx,%esi,2)
4109cc:	5e                   	pop    %esi
4109cd:	c9                   	leave
4109ce:	c2 0c 00             	ret    $0xc
4109d1:	55                   	push   %ebp
4109d2:	8b ec                	mov    %esp,%ebp
4109d4:	8b 55 08             	mov    0x8(%ebp),%edx
4109d7:	eb 02                	jmp    0x4109db
4109d9:	42                   	inc    %edx
4109da:	42                   	inc    %edx
4109db:	0f b7 02             	movzwl (%edx),%eax
4109de:	50                   	push   %eax
4109df:	e8 1e ff ff ff       	call   0x410902
4109e4:	84 c0                	test   %al,%al
4109e6:	75 f1                	jne    0x4109d9
4109e8:	0f b7 0a             	movzwl (%edx),%ecx
4109eb:	66 85 c9             	test   %cx,%cx
4109ee:	75 04                	jne    0x4109f4
4109f0:	33 c0                	xor    %eax,%eax
4109f2:	eb 7c                	jmp    0x410a70
4109f4:	53                   	push   %ebx
4109f5:	8b 5d 10             	mov    0x10(%ebp),%ebx
4109f8:	56                   	push   %esi
4109f9:	57                   	push   %edi
4109fa:	8b 7d 0c             	mov    0xc(%ebp),%edi
4109fd:	33 f6                	xor    %esi,%esi
4109ff:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
410a03:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
410a07:	75 0d                	jne    0x410a16
410a09:	0f b7 c1             	movzwl %cx,%eax
410a0c:	50                   	push   %eax
410a0d:	e8 f0 fe ff ff       	call   0x410902
410a12:	84 c0                	test   %al,%al
410a14:	75 4b                	jne    0x410a61
410a16:	66 83 f9 22          	cmp    $0x22,%cx
410a1a:	75 2b                	jne    0x410a47
410a1c:	8d 42 02             	lea    0x2(%edx),%eax
410a1f:	66 39 08             	cmp    %cx,(%eax)
410a22:	75 17                	jne    0x410a3b
410a24:	85 ff                	test   %edi,%edi
410a26:	74 0f                	je     0x410a37
410a28:	8d 4b ff             	lea    -0x1(%ebx),%ecx
410a2b:	3b f1                	cmp    %ecx,%esi
410a2d:	73 08                	jae    0x410a37
410a2f:	6a 22                	push   $0x22
410a31:	59                   	pop    %ecx
410a32:	66 89 0c 77          	mov    %cx,(%edi,%esi,2)
410a36:	46                   	inc    %esi
410a37:	8b d0                	mov    %eax,%edx
410a39:	eb 1c                	jmp    0x410a57
410a3b:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
410a3f:	0f 94 c0             	sete   %al
410a42:	88 45 0b             	mov    %al,0xb(%ebp)
410a45:	eb 10                	jmp    0x410a57
410a47:	85 ff                	test   %edi,%edi
410a49:	74 0c                	je     0x410a57
410a4b:	8d 43 ff             	lea    -0x1(%ebx),%eax
410a4e:	3b f0                	cmp    %eax,%esi
410a50:	73 05                	jae    0x410a57
410a52:	66 89 0c 77          	mov    %cx,(%edi,%esi,2)
410a56:	46                   	inc    %esi
410a57:	42                   	inc    %edx
410a58:	42                   	inc    %edx
410a59:	0f b7 0a             	movzwl (%edx),%ecx
410a5c:	66 85 c9             	test   %cx,%cx
410a5f:	75 a2                	jne    0x410a03
410a61:	85 ff                	test   %edi,%edi
410a63:	74 06                	je     0x410a6b
410a65:	33 c0                	xor    %eax,%eax
410a67:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
410a6b:	5f                   	pop    %edi
410a6c:	5e                   	pop    %esi
410a6d:	8b c2                	mov    %edx,%eax
410a6f:	5b                   	pop    %ebx
410a70:	5d                   	pop    %ebp
410a71:	c2 0c 00             	ret    $0xc
410a74:	83 61 10 00          	andl   $0x0,0x10(%ecx)
410a78:	c3                   	ret
410a79:	56                   	push   %esi
410a7a:	8b f1                	mov    %ecx,%esi
410a7c:	8b 06                	mov    (%esi),%eax
410a7e:	85 c0                	test   %eax,%eax
410a80:	74 0a                	je     0x410a8c
410a82:	50                   	push   %eax
410a83:	e8 5a 94 00 00       	call   0x419ee2
410a88:	83 26 00             	andl   $0x0,(%esi)
410a8b:	59                   	pop    %ecx
410a8c:	83 66 04 00          	andl   $0x0,0x4(%esi)
410a90:	83 66 08 00          	andl   $0x0,0x8(%esi)
410a94:	5e                   	pop    %esi
410a95:	c3                   	ret
410a96:	56                   	push   %esi
410a97:	8b f1                	mov    %ecx,%esi
410a99:	83 66 10 00          	andl   $0x0,0x10(%esi)
410a9d:	e8 d7 ff ff ff       	call   0x410a79
410aa2:	83 66 14 00          	andl   $0x0,0x14(%esi)
410aa6:	83 66 58 00          	andl   $0x0,0x58(%esi)
410aaa:	5e                   	pop    %esi
410aab:	c3                   	ret
410aac:	53                   	push   %ebx
410aad:	8b 5c 24 08          	mov    0x8(%esp),%ebx
410ab1:	56                   	push   %esi
410ab2:	57                   	push   %edi
410ab3:	8b f1                	mov    %ecx,%esi
410ab5:	85 db                	test   %ebx,%ebx
410ab7:	75 05                	jne    0x410abe
410ab9:	bb 3c a5 42 00       	mov    $0x42a53c,%ebx
410abe:	8b 7e 04             	mov    0x4(%esi),%edi
410ac1:	53                   	push   %ebx
410ac2:	e8 c4 96 00 00       	call   0x41a18b
410ac7:	59                   	pop    %ecx
410ac8:	40                   	inc    %eax
410ac9:	50                   	push   %eax
410aca:	8b ce                	mov    %esi,%ecx
410acc:	e8 d6 06 ff ff       	call   0x4011a7
410ad1:	8b 06                	mov    (%esi),%eax
410ad3:	8d 04 78             	lea    (%eax,%edi,2),%eax
410ad6:	53                   	push   %ebx
410ad7:	50                   	push   %eax
410ad8:	e8 f6 96 00 00       	call   0x41a1d3
410add:	ff 46 14             	incl   0x14(%esi)
410ae0:	59                   	pop    %ecx
410ae1:	59                   	pop    %ecx
410ae2:	5f                   	pop    %edi
410ae3:	5e                   	pop    %esi
410ae4:	5b                   	pop    %ebx
410ae5:	c2 04 00             	ret    $0x4
410ae8:	56                   	push   %esi
410ae9:	8b f1                	mov    %ecx,%esi
410aeb:	8b 46 10             	mov    0x10(%esi),%eax
410aee:	3b 46 04             	cmp    0x4(%esi),%eax
410af1:	72 0f                	jb     0x410b02
410af3:	8b 44 24 08          	mov    0x8(%esp),%eax
410af7:	85 c0                	test   %eax,%eax
410af9:	74 03                	je     0x410afe
410afb:	83 20 00             	andl   $0x0,(%eax)
410afe:	32 c0                	xor    %al,%al
410b00:	eb 1e                	jmp    0x410b20
410b02:	8b 0e                	mov    (%esi),%ecx
410b04:	57                   	push   %edi
410b05:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
410b08:	57                   	push   %edi
410b09:	e8 7d 96 00 00       	call   0x41a18b
410b0e:	40                   	inc    %eax
410b0f:	01 46 10             	add    %eax,0x10(%esi)
410b12:	8b 44 24 10          	mov    0x10(%esp),%eax
410b16:	59                   	pop    %ecx
410b17:	85 c0                	test   %eax,%eax
410b19:	74 02                	je     0x410b1d
410b1b:	89 38                	mov    %edi,(%eax)
410b1d:	b0 01                	mov    $0x1,%al
410b1f:	5f                   	pop    %edi
410b20:	5e                   	pop    %esi
410b21:	c2 04 00             	ret    $0x4
410b24:	33 c0                	xor    %eax,%eax
410b26:	56                   	push   %esi
410b27:	8b f1                	mov    %ecx,%esi
410b29:	89 06                	mov    %eax,(%esi)
410b2b:	89 46 04             	mov    %eax,0x4(%esi)
410b2e:	89 46 08             	mov    %eax,0x8(%esi)
410b31:	89 46 0c             	mov    %eax,0xc(%esi)
410b34:	e8 5d ff ff ff       	call   0x410a96
410b39:	8b c6                	mov    %esi,%eax
410b3b:	5e                   	pop    %esi
410b3c:	c3                   	ret
410b3d:	55                   	push   %ebp
410b3e:	8b ec                	mov    %esp,%ebp
410b40:	51                   	push   %ecx
410b41:	8d 45 fc             	lea    -0x4(%ebp),%eax
410b44:	50                   	push   %eax
410b45:	e8 9e ff ff ff       	call   0x410ae8
410b4a:	84 c0                	test   %al,%al
410b4c:	74 10                	je     0x410b5e
410b4e:	ff 75 0c             	push   0xc(%ebp)
410b51:	ff 75 fc             	push   -0x4(%ebp)
410b54:	ff 75 08             	push   0x8(%ebp)
410b57:	e8 c3 fd ff ff       	call   0x41091f
410b5c:	b0 01                	mov    $0x1,%al
410b5e:	c9                   	leave
410b5f:	c2 08 00             	ret    $0x8
410b62:	55                   	push   %ebp
410b63:	8b ec                	mov    %esp,%ebp
410b65:	51                   	push   %ecx
410b66:	8d 45 fc             	lea    -0x4(%ebp),%eax
410b69:	50                   	push   %eax
410b6a:	e8 79 ff ff ff       	call   0x410ae8
410b6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
410b72:	c9                   	leave
410b73:	c3                   	ret
410b74:	f6 05 48 ea 44 00 01 	testb  $0x1,0x44ea48
410b7b:	75 11                	jne    0x410b8e
410b7d:	83 0d 48 ea 44 00 01 	orl    $0x1,0x44ea48
410b84:	e8 72 b5 00 00       	call   0x41c0fb
410b89:	a3 44 ea 44 00       	mov    %eax,0x44ea44
410b8e:	56                   	push   %esi
410b8f:	57                   	push   %edi
410b90:	e8 66 b5 00 00       	call   0x41c0fb
410b95:	2b 05 44 ea 44 00    	sub    0x44ea44,%eax
410b9b:	bf ff 00 00 00       	mov    $0xff,%edi
410ba0:	83 f8 32             	cmp    $0x32,%eax
410ba3:	be 74 2a 43 00       	mov    $0x432a74,%esi
410ba8:	7e 16                	jle    0x410bc0
410baa:	e8 37 0a 00 00       	call   0x4115e6
410baf:	e8 2c 0a 00 00       	call   0x4115e0
410bb4:	84 c0                	test   %al,%al
410bb6:	74 08                	je     0x410bc0
410bb8:	57                   	push   %edi
410bb9:	8b ce                	mov    %esi,%ecx
410bbb:	e8 eb 58 ff ff       	call   0x4064ab
410bc0:	80 3d 7f 2a 43 00 00 	cmpb   $0x0,0x432a7f
410bc7:	74 08                	je     0x410bd1
410bc9:	57                   	push   %edi
410bca:	8b ce                	mov    %esi,%ecx
410bcc:	e8 da 58 ff ff       	call   0x4064ab
410bd1:	5f                   	pop    %edi
410bd2:	5e                   	pop    %esi
410bd3:	c3                   	ret
410bd4:	68 a4 ac 42 00       	push   $0x42aca4
410bd9:	ff 15 80 a0 42 00    	call   *0x42a080
410bdf:	85 c0                	test   %eax,%eax
410be1:	74 22                	je     0x410c05
410be3:	68 90 ac 42 00       	push   $0x42ac90
410be8:	50                   	push   %eax
410be9:	ff 15 88 a0 42 00    	call   *0x42a088
410bef:	85 c0                	test   %eax,%eax
410bf1:	74 12                	je     0x410c05
410bf3:	0f b6 4c 24 04       	movzbl 0x4(%esp),%ecx
410bf8:	f7 d9                	neg    %ecx
410bfa:	1b c9                	sbb    %ecx,%ecx