41e78b:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
41e78f:	75 0e                	jne    0x41e79f
41e791:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e794:	8b 40 08             	mov    0x8(%eax),%eax
41e797:	50                   	push   %eax
41e798:	e8 7b 83 fe ff       	call   0x406b18
41e79d:	eb 1c                	jmp    0x41e7bb
41e79f:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e7a2:	8b 00                	mov    (%eax),%eax
41e7a4:	ba 18 00 00 00       	mov    $0x18,%edx
41e7a9:	e8 6a 45 fe ff       	call   0x402d18
41e7ae:	ba 0c 00 00 00       	mov    $0xc,%edx
41e7b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e7b6:	e8 5d 45 fe ff       	call   0x402d18
41e7bb:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e7be:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41e7c2:	0f 8f 28 ff ff ff    	jg     0x41e6f0
41e7c8:	33 c0                	xor    %eax,%eax
41e7ca:	5a                   	pop    %edx
41e7cb:	59                   	pop    %ecx
41e7cc:	59                   	pop    %ecx
41e7cd:	64 89 10             	mov    %edx,%fs:(%eax)
41e7d0:	68 e5 e7 41 00       	push   $0x41e7e5
41e7d5:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e7d8:	e8 3f 51 fe ff       	call   0x40391c
41e7dd:	c3                   	ret
41e7de:	e9 cd 58 fe ff       	jmp    0x4040b0
41e7e3:	eb f0                	jmp    0x41e7d5
41e7e5:	33 c0                	xor    %eax,%eax
41e7e7:	5a                   	pop    %edx
41e7e8:	59                   	pop    %ecx
41e7e9:	59                   	pop    %ecx
41e7ea:	64 89 10             	mov    %edx,%fs:(%eax)
41e7ed:	68 04 e8 41 00       	push   $0x41e804
41e7f2:	68 e8 b2 4a 00       	push   $0x4ab2e8
41e7f7:	e8 cc 82 fe ff       	call   0x406ac8
41e7fc:	c3                   	ret
41e7fd:	e9 ae 58 fe ff       	jmp    0x4040b0
41e802:	eb ee                	jmp    0x41e7f2
41e804:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
41e808:	5f                   	pop    %edi
41e809:	5e                   	pop    %esi
41e80a:	5b                   	pop    %ebx
41e80b:	8b e5                	mov    %ebp,%esp
41e80d:	5d                   	pop    %ebp
41e80e:	c3                   	ret
41e80f:	90                   	nop
41e810:	53                   	push   %ebx
41e811:	56                   	push   %esi
41e812:	57                   	push   %edi
41e813:	84 d2                	test   %dl,%dl
41e815:	74 08                	je     0x41e81f
41e817:	83 c4 f0             	add    $0xfffffff0,%esp
41e81a:	e8 21 54 fe ff       	call   0x403c40
41e81f:	8b f1                	mov    %ecx,%esi
41e821:	8b da                	mov    %edx,%ebx
41e823:	8b f8                	mov    %eax,%edi
41e825:	0f b6 05 58 e8 41 00 	movzbl 0x41e858,%eax
41e82c:	88 47 24             	mov    %al,0x24(%edi)
41e82f:	85 f6                	test   %esi,%esi
41e831:	74 09                	je     0x41e83c
41e833:	8b d7                	mov    %edi,%edx
41e835:	8b c6                	mov    %esi,%eax
41e837:	e8 90 01 00 00       	call   0x41e9cc
41e83c:	8b c7                	mov    %edi,%eax
41e83e:	84 db                	test   %bl,%bl
41e840:	74 0f                	je     0x41e851
41e842:	e8 51 54 fe ff       	call   0x403c98
41e847:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41e84e:	83 c4 0c             	add    $0xc,%esp
41e851:	8b c7                	mov    %edi,%eax
41e853:	5f                   	pop    %edi
41e854:	5e                   	pop    %esi
41e855:	5b                   	pop    %ebx
41e856:	c3                   	ret
41e857:	00 01                	add    %al,(%ecx)
41e859:	00 00                	add    %al,(%eax)
41e85b:	00 53 56             	add    %dl,0x56(%ebx)
41e85e:	51                   	push   %ecx
41e85f:	e8 84 54 fe ff       	call   0x403ce8
41e864:	88 14 24             	mov    %dl,(%esp)
41e867:	8b d8                	mov    %eax,%ebx
41e869:	8b c3                	mov    %ebx,%eax
41e86b:	e8 54 02 00 00       	call   0x41eac4
41e870:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41e874:	74 2b                	je     0x41e8a1
41e876:	eb 14                	jmp    0x41e88c
41e878:	8b 56 08             	mov    0x8(%esi),%edx
41e87b:	4a                   	dec    %edx
41e87c:	8b c6                	mov    %esi,%eax
41e87e:	e8 55 99 ff ff       	call   0x4181d8
41e883:	b1 01                	mov    $0x1,%cl
41e885:	8b d3                	mov    %ebx,%edx
41e887:	8b 30                	mov    (%eax),%esi
41e889:	ff 56 10             	call   *0x10(%esi)
41e88c:	8b 73 14             	mov    0x14(%ebx),%esi
41e88f:	85 f6                	test   %esi,%esi
41e891:	74 06                	je     0x41e899
41e893:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41e897:	7f df                	jg     0x41e878
41e899:	8d 43 14             	lea    0x14(%ebx),%eax
41e89c:	e8 87 f8 fe ff       	call   0x40e128
41e8a1:	8b c3                	mov    %ebx,%eax
41e8a3:	e8 c0 01 00 00       	call   0x41ea68
41e8a8:	8b 43 04             	mov    0x4(%ebx),%eax
41e8ab:	85 c0                	test   %eax,%eax
41e8ad:	74 07                	je     0x41e8b6
41e8af:	8b d3                	mov    %ebx,%edx
41e8b1:	e8 7a 01 00 00       	call   0x41ea30
41e8b6:	0f b6 14 24          	movzbl (%esp),%edx
41e8ba:	80 e2 fc             	and    $0xfc,%dl
41e8bd:	8b c3                	mov    %ebx,%eax
41e8bf:	e8 e8 9e ff ff       	call   0x4187ac
41e8c4:	80 3c 24 00          	cmpb   $0x0,(%esp)
41e8c8:	7e 07                	jle    0x41e8d1
41e8ca:	8b c3                	mov    %ebx,%eax
41e8cc:	e8 bf 53 fe ff       	call   0x403c90
41e8d1:	5a                   	pop    %edx
41e8d2:	5e                   	pop    %esi
41e8d3:	5b                   	pop    %ebx
41e8d4:	c3                   	ret
41e8d5:	8d 40 00             	lea    0x0(%eax),%eax
41e8d8:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
41e8dc:	75 05                	jne    0x41e8e3
41e8de:	e8 e1 01 00 00       	call   0x41eac4
41e8e3:	c3                   	ret
41e8e4:	53                   	push   %ebx
41e8e5:	56                   	push   %esi
41e8e6:	8b f2                	mov    %edx,%esi
41e8e8:	8b d8                	mov    %eax,%ebx
41e8ea:	8b 43 04             	mov    0x4(%ebx),%eax
41e8ed:	85 c0                	test   %eax,%eax
41e8ef:	74 05                	je     0x41e8f6
41e8f1:	3b 46 04             	cmp    0x4(%esi),%eax
41e8f4:	74 36                	je     0x41e92c
41e8f6:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41e8fa:	75 0f                	jne    0x41e90b
41e8fc:	b2 01                	mov    $0x1,%dl
41e8fe:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
41e903:	e8 e4 4f fe ff       	call   0x4038ec
41e908:	89 43 14             	mov    %eax,0x14(%ebx)
41e90b:	8b d6                	mov    %esi,%edx
41e90d:	8b 43 14             	mov    0x14(%ebx),%eax
41e910:	e8 1f 99 ff ff       	call   0x418234
41e915:	85 c0                	test   %eax,%eax
41e917:	7d 13                	jge    0x41e92c
41e919:	8b d6                	mov    %esi,%edx
41e91b:	8b 43 14             	mov    0x14(%ebx),%eax
41e91e:	e8 55 97 ff ff       	call   0x418078
41e923:	8b d3                	mov    %ebx,%edx
41e925:	8b c6                	mov    %esi,%eax
41e927:	e8 b8 ff ff ff       	call   0x41e8e4
41e92c:	66 81 4b 1c 00 01    	orw    $0x100,0x1c(%ebx)
41e932:	5e                   	pop    %esi
41e933:	5b                   	pop    %ebx
41e934:	c3                   	ret
41e935:	8d 40 00             	lea    0x0(%eax),%eax
41e938:	53                   	push   %ebx
41e939:	56                   	push   %esi
41e93a:	8b f2                	mov    %edx,%esi
41e93c:	8b d8                	mov    %eax,%ebx
41e93e:	8b c6                	mov    %esi,%eax
41e940:	e8 f7 e1 ff ff       	call   0x41cb3c
41e945:	66 89 43 18          	mov    %ax,0x18(%ebx)
41e949:	5e                   	pop    %esi
41e94a:	5b                   	pop    %ebx
41e94b:	c3                   	ret
41e94c:	53                   	push   %ebx
41e94d:	56                   	push   %esi
41e94e:	8b f2                	mov    %edx,%esi
41e950:	8b d8                	mov    %eax,%ebx
41e952:	8b c6                	mov    %esi,%eax
41e954:	e8 e3 e1 ff ff       	call   0x41cb3c
41e959:	66 89 43 1a          	mov    %ax,0x1a(%ebx)
41e95d:	5e                   	pop    %esi
41e95e:	5b                   	pop    %ebx
41e95f:	c3                   	ret
41e960:	0f b7 40 18          	movzwl 0x18(%eax),%eax
41e964:	92                   	xchg   %eax,%edx
41e965:	e8 c2 fa ff ff       	call   0x41e42c
41e96a:	c3                   	ret
41e96b:	90                   	nop
41e96c:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
41e970:	92                   	xchg   %eax,%edx
41e971:	e8 b6 fa ff ff       	call   0x41e42c
41e976:	c3                   	ret
41e977:	90                   	nop
41e978:	53                   	push   %ebx
41e979:	56                   	push   %esi
41e97a:	8b f2                	mov    %edx,%esi
41e97c:	8b d8                	mov    %eax,%ebx
41e97e:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
41e982:	75 0f                	jne    0x41e993
41e984:	b2 01                	mov    $0x1,%dl
41e986:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
41e98b:	e8 5c 4f fe ff       	call   0x4038ec
41e990:	89 43 10             	mov    %eax,0x10(%ebx)
41e993:	8b d6                	mov    %esi,%edx
41e995:	8b 43 10             	mov    0x10(%ebx),%eax
41e998:	e8 db 96 ff ff       	call   0x418078
41e99d:	89 5e 04             	mov    %ebx,0x4(%esi)
41e9a0:	5e                   	pop    %esi
41e9a1:	5b                   	pop    %ebx
41e9a2:	c3                   	ret
41e9a3:	90                   	nop
41e9a4:	53                   	push   %ebx
41e9a5:	8b d8                	mov    %eax,%ebx
41e9a7:	33 c0                	xor    %eax,%eax
41e9a9:	89 42 04             	mov    %eax,0x4(%edx)
41e9ac:	8b 43 10             	mov    0x10(%ebx),%eax
41e9af:	e8 c0 99 ff ff       	call   0x418374
41e9b4:	8b 43 10             	mov    0x10(%ebx),%eax
41e9b7:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41e9bb:	75 0a                	jne    0x41e9c7
41e9bd:	e8 5a 4f fe ff       	call   0x40391c
41e9c2:	33 c0                	xor    %eax,%eax
41e9c4:	89 43 10             	mov    %eax,0x10(%ebx)
41e9c7:	5b                   	pop    %ebx
41e9c8:	c3                   	ret
41e9c9:	8d 40 00             	lea    0x0(%eax),%eax
41e9cc:	53                   	push   %ebx
41e9cd:	56                   	push   %esi
41e9ce:	57                   	push   %edi
41e9cf:	8b da                	mov    %edx,%ebx
41e9d1:	8b f8                	mov    %eax,%edi
41e9d3:	8b d7                	mov    %edi,%edx
41e9d5:	8b c3                	mov    %ebx,%eax
41e9d7:	66 be f5 ff          	mov    $0xfff5,%si
41e9db:	e8 38 51 fe ff       	call   0x403b18
41e9e0:	8b 43 04             	mov    0x4(%ebx),%eax
41e9e3:	85 c0                	test   %eax,%eax
41e9e5:	74 07                	je     0x41e9ee
41e9e7:	8b d3                	mov    %ebx,%edx
41e9e9:	e8 42 00 00 00       	call   0x41ea30
41e9ee:	8b 43 08             	mov    0x8(%ebx),%eax
41e9f1:	50                   	push   %eax
41e9f2:	33 c9                	xor    %ecx,%ecx
41e9f4:	8b d3                	mov    %ebx,%edx
41e9f6:	8b c7                	mov    %edi,%eax
41e9f8:	8b 30                	mov    (%eax),%esi
41e9fa:	ff 56 20             	call   *0x20(%esi)
41e9fd:	8b d3                	mov    %ebx,%edx
41e9ff:	8b c7                	mov    %edi,%eax
41ea01:	e8 72 ff ff ff       	call   0x41e978
41ea06:	b2 01                	mov    $0x1,%dl
41ea08:	8b c3                	mov    %ebx,%eax
41ea0a:	e8 f5 04 00 00       	call   0x41ef04
41ea0f:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
41ea13:	74 0b                	je     0x41ea20
41ea15:	b1 01                	mov    $0x1,%cl
41ea17:	b2 01                	mov    $0x1,%dl
41ea19:	8b c3                	mov    %ebx,%eax
41ea1b:	e8 94 04 00 00       	call   0x41eeb4
41ea20:	33 c9                	xor    %ecx,%ecx
41ea22:	8b d3                	mov    %ebx,%edx
41ea24:	8b c7                	mov    %edi,%eax
41ea26:	8b 18                	mov    (%eax),%ebx
41ea28:	ff 53 10             	call   *0x10(%ebx)
41ea2b:	5f                   	pop    %edi
41ea2c:	5e                   	pop    %esi
41ea2d:	5b                   	pop    %ebx
41ea2e:	c3                   	ret
41ea2f:	90                   	nop
41ea30:	53                   	push   %ebx
41ea31:	56                   	push   %esi
41ea32:	57                   	push   %edi
41ea33:	8b da                	mov    %edx,%ebx
41ea35:	8b f0                	mov    %eax,%esi
41ea37:	6a 00                	push   $0x0
41ea39:	8b 4b 08             	mov    0x8(%ebx),%ecx
41ea3c:	8b d3                	mov    %ebx,%edx
41ea3e:	8b c6                	mov    %esi,%eax
41ea40:	8b 38                	mov    (%eax),%edi
41ea42:	ff 57 20             	call   *0x20(%edi)
41ea45:	b1 01                	mov    $0x1,%cl
41ea47:	8b d3                	mov    %ebx,%edx
41ea49:	8b c6                	mov    %esi,%eax
41ea4b:	8b 38                	mov    (%eax),%edi
41ea4d:	ff 57 10             	call   *0x10(%edi)
41ea50:	33 d2                	xor    %edx,%edx
41ea52:	8b c3                	mov    %ebx,%eax
41ea54:	e8 ab 04 00 00       	call   0x41ef04
41ea59:	8b d3                	mov    %ebx,%edx
41ea5b:	8b c6                	mov    %esi,%eax
41ea5d:	e8 42 ff ff ff       	call   0x41e9a4
41ea62:	5f                   	pop    %edi
41ea63:	5e                   	pop    %esi
41ea64:	5b                   	pop    %ebx
41ea65:	c3                   	ret
41ea66:	8b c0                	mov    %eax,%eax
41ea68:	53                   	push   %ebx
41ea69:	56                   	push   %esi
41ea6a:	57                   	push   %edi
41ea6b:	8b f0                	mov    %eax,%esi
41ea6d:	eb 43                	jmp    0x41eab2
41ea6f:	8b c3                	mov    %ebx,%eax
41ea71:	e8 4a 98 ff ff       	call   0x4182c0
41ea76:	8b f8                	mov    %eax,%edi
41ea78:	f6 47 1d 01          	testb  $0x1,0x1d(%edi)
41ea7c:	75 17                	jne    0x41ea95
41ea7e:	0f b7 05 c0 ea 41 00 	movzwl 0x41eac0,%eax
41ea85:	66 23 46 1c          	and    0x1c(%esi),%ax
41ea89:	0f b7 15 c0 ea 41 00 	movzwl 0x41eac0,%edx
41ea90:	66 3b d0             	cmp    %ax,%dx
41ea93:	75 0b                	jne    0x41eaa0
41ea95:	8b d7                	mov    %edi,%edx
41ea97:	8b c6                	mov    %esi,%eax
41ea99:	e8 92 ff ff ff       	call   0x41ea30
41ea9e:	eb 09                	jmp    0x41eaa9
41eaa0:	8b d7                	mov    %edi,%edx
41eaa2:	8b c6                	mov    %esi,%eax
41eaa4:	e8 fb fe ff ff       	call   0x41e9a4
41eaa9:	b2 01                	mov    $0x1,%dl
41eaab:	8b c7                	mov    %edi,%eax
41eaad:	8b 08                	mov    (%eax),%ecx
41eaaf:	ff 51 fc             	call   *-0x4(%ecx)
41eab2:	8b 5e 10             	mov    0x10(%esi),%ebx
41eab5:	85 db                	test   %ebx,%ebx
41eab7:	75 b6                	jne    0x41ea6f
41eab9:	5f                   	pop    %edi
41eaba:	5e                   	pop    %esi
41eabb:	5b                   	pop    %ebx
41eabc:	c3                   	ret
41eabd:	00 00                	add    %al,(%eax)
41eabf:	00 10                	add    %dl,(%eax)
41eac1:	02 00                	add    (%eax),%al
41eac3:	00 53 56             	add    %dl,0x56(%ebx)
41eac6:	57                   	push   %edi
41eac7:	8b d8                	mov    %eax,%ebx
41eac9:	f6 43 1c 08          	testb  $0x8,0x1c(%ebx)
41eacd:	75 2a                	jne    0x41eaf9
41eacf:	66 83 4b 1c 08       	orw    $0x8,0x1c(%ebx)
41ead4:	8b 43 10             	mov    0x10(%ebx),%eax
41ead7:	85 c0                	test   %eax,%eax
41ead9:	74 1e                	je     0x41eaf9
41eadb:	8b 70 08             	mov    0x8(%eax),%esi
41eade:	4e                   	dec    %esi
41eadf:	85 f6                	test   %esi,%esi
41eae1:	7c 16                	jl     0x41eaf9
41eae3:	46                   	inc    %esi
41eae4:	33 ff                	xor    %edi,%edi
41eae6:	8b d7                	mov    %edi,%edx
41eae8:	8b 43 10             	mov    0x10(%ebx),%eax
41eaeb:	e8 e8 96 ff ff       	call   0x4181d8
41eaf0:	e8 cf ff ff ff       	call   0x41eac4
41eaf5:	47                   	inc    %edi
41eaf6:	4e                   	dec    %esi
41eaf7:	75 ed                	jne    0x41eae6
41eaf9:	5f                   	pop    %edi
41eafa:	5e                   	pop    %esi