40d932:	5b                   	pop    %ebx
40d933:	33 cc                	xor    %esp,%ecx
40d935:	e8 36 3f 01 00       	call   0x421870
40d93a:	8b e5                	mov    %ebp,%esp
40d93c:	5d                   	pop    %ebp
40d93d:	c3                   	ret
40d93e:	be 08 5f 42 00       	mov    $0x425f08,%esi
40d943:	56                   	push   %esi
40d944:	e8 9f 45 01 00       	call   0x421ee8
40d949:	83 3d 08 5f 42 00 ff 	cmpl   $0xffffffff,0x425f08
40d950:	59                   	pop    %ecx
40d951:	0f 85 aa fe ff ff    	jne    0x40d801
40d957:	68 c0 2c 42 00       	push   $0x422cc0
40d95c:	e8 b6 43 01 00       	call   0x421d17
40d961:	59                   	pop    %ecx
40d962:	56                   	push   %esi
40d963:	e8 34 45 01 00       	call   0x421e9c
40d968:	59                   	pop    %ecx
40d969:	e9 93 fe ff ff       	jmp    0x40d801
40d96e:	8b ff                	mov    %edi,%edi
40d970:	56                   	push   %esi
40d971:	57                   	push   %edi
40d972:	8b f9                	mov    %ecx,%edi
40d974:	8b f7                	mov    %edi,%esi
40d976:	8b d7                	mov    %edi,%edx
40d978:	0f b7 07             	movzwl (%edi),%eax
40d97b:	66 85 c0             	test   %ax,%ax
40d97e:	74 2a                	je     0x40d9aa
40d980:	8b c8                	mov    %eax,%ecx
40d982:	66 83 f9 3a          	cmp    $0x3a,%cx
40d986:	74 06                	je     0x40d98e
40d988:	66 83 f9 5c          	cmp    $0x5c,%cx
40d98c:	75 02                	jne    0x40d990
40d98e:	8b f2                	mov    %edx,%esi
40d990:	52                   	push   %edx
40d991:	ff 15 18 62 42 00    	call   *0x426218
40d997:	8b d0                	mov    %eax,%edx
40d999:	0f b7 02             	movzwl (%edx),%eax
40d99c:	8b c8                	mov    %eax,%ecx
40d99e:	66 85 c0             	test   %ax,%ax
40d9a1:	75 df                	jne    0x40d982
40d9a3:	3b f7                	cmp    %edi,%esi
40d9a5:	74 03                	je     0x40d9aa
40d9a7:	83 c6 02             	add    $0x2,%esi
40d9aa:	5f                   	pop    %edi
40d9ab:	8b c6                	mov    %esi,%eax
40d9ad:	5e                   	pop    %esi
40d9ae:	c3                   	ret
40d9af:	8b ff                	mov    %edi,%edi
40d9b1:	55                   	push   %ebp
40d9b2:	8b ec                	mov    %esp,%ebp
40d9b4:	83 ec 0c             	sub    $0xc,%esp
40d9b7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40d9bb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d9bf:	53                   	push   %ebx
40d9c0:	56                   	push   %esi
40d9c1:	57                   	push   %edi
40d9c2:	ff 35 0c 5e 42 00    	push   0x425e0c
40d9c8:	8b f1                	mov    %ecx,%esi
40d9ca:	ff 15 c0 61 42 00    	call   *0x4261c0
40d9d0:	8b f8                	mov    %eax,%edi
40d9d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d9d5:	50                   	push   %eax
40d9d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d9d9:	50                   	push   %eax
40d9da:	68 b0 00 00 00       	push   $0xb0
40d9df:	ff 35 04 5e 42 00    	push   0x425e04
40d9e5:	ff 15 bc 62 42 00    	call   *0x4262bc
40d9eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d9ee:	33 db                	xor    %ebx,%ebx
40d9f0:	3b 45 f4             	cmp    -0xc(%ebp),%eax
40d9f3:	0f 94 c3             	sete   %bl
40d9f6:	53                   	push   %ebx
40d9f7:	68 00 03 00 00       	push   $0x300
40d9fc:	6a 01                	push   $0x1
40d9fe:	57                   	push   %edi
40d9ff:	ff 15 c8 61 42 00    	call   *0x4261c8
40da05:	50                   	push   %eax
40da06:	ff 15 cc 61 42 00    	call   *0x4261cc
40da0c:	53                   	push   %ebx
40da0d:	68 01 03 00 00       	push   $0x301
40da12:	6a 01                	push   $0x1
40da14:	57                   	push   %edi
40da15:	ff 15 c8 61 42 00    	call   *0x4261c8
40da1b:	50                   	push   %eax
40da1c:	ff 15 cc 61 42 00    	call   *0x4261cc
40da22:	53                   	push   %ebx
40da23:	68 03 03 00 00       	push   $0x303
40da28:	6a 01                	push   $0x1
40da2a:	57                   	push   %edi
40da2b:	ff 15 c8 61 42 00    	call   *0x4261c8
40da31:	50                   	push   %eax
40da32:	ff 15 cc 61 42 00    	call   *0x4261cc
40da38:	53                   	push   %ebx
40da39:	6a 1c                	push   $0x1c
40da3b:	33 db                	xor    %ebx,%ebx
40da3d:	43                   	inc    %ebx
40da3e:	53                   	push   %ebx
40da3f:	57                   	push   %edi
40da40:	ff 15 c8 61 42 00    	call   *0x4261c8
40da46:	50                   	push   %eax
40da47:	ff 15 cc 61 42 00    	call   *0x4261cc
40da4d:	56                   	push   %esi
40da4e:	ff 15 3c 62 42 00    	call   *0x42623c
40da54:	85 c0                	test   %eax,%eax
40da56:	74 10                	je     0x40da68
40da58:	53                   	push   %ebx
40da59:	ff 15 40 62 42 00    	call   *0x426240
40da5f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40da62:	ff 15 44 62 42 00    	call   *0x426244
40da68:	33 c9                	xor    %ecx,%ecx
40da6a:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
40da6d:	0f 94 c1             	sete   %cl
40da70:	51                   	push   %ecx
40da71:	68 02 03 00 00       	push   $0x302
40da76:	53                   	push   %ebx
40da77:	57                   	push   %edi
40da78:	ff 15 c8 61 42 00    	call   *0x4261c8
40da7e:	50                   	push   %eax
40da7f:	ff 15 cc 61 42 00    	call   *0x4261cc
40da85:	6a 00                	push   $0x0
40da87:	6a 00                	push   $0x0
40da89:	6a 0e                	push   $0xe
40da8b:	ff 35 04 5e 42 00    	push   0x425e04
40da91:	ff 15 bc 62 42 00    	call   *0x4262bc
40da97:	f7 d8                	neg    %eax
40da99:	1b f6                	sbb    %esi,%esi
40da9b:	f7 d6                	not    %esi
40da9d:	23 f3                	and    %ebx,%esi
40da9f:	56                   	push   %esi
40daa0:	6a 15                	push   $0x15
40daa2:	53                   	push   %ebx
40daa3:	57                   	push   %edi
40daa4:	ff 15 c8 61 42 00    	call   *0x4261c8
40daaa:	50                   	push   %eax
40daab:	ff 15 cc 61 42 00    	call   *0x4261cc
40dab1:	56                   	push   %esi
40dab2:	6a 16                	push   $0x16
40dab4:	53                   	push   %ebx
40dab5:	57                   	push   %edi
40dab6:	ff 15 c8 61 42 00    	call   *0x4261c8
40dabc:	50                   	push   %eax
40dabd:	ff 15 cc 61 42 00    	call   *0x4261cc
40dac3:	56                   	push   %esi
40dac4:	6a 1d                	push   $0x1d
40dac6:	53                   	push   %ebx
40dac7:	57                   	push   %edi
40dac8:	ff 15 c8 61 42 00    	call   *0x4261c8
40dace:	50                   	push   %eax
40dacf:	ff 15 cc 61 42 00    	call   *0x4261cc
40dad5:	33 db                	xor    %ebx,%ebx
40dad7:	39 1d f0 5b 42 00    	cmp    %ebx,0x425bf0
40dadd:	6a 01                	push   $0x1
40dadf:	57                   	push   %edi
40dae0:	0f 95 c3             	setne  %bl
40dae3:	ff 15 c8 61 42 00    	call   *0x4261c8
40dae9:	53                   	push   %ebx
40daea:	6a 18                	push   $0x18
40daec:	50                   	push   %eax
40daed:	ff 15 cc 61 42 00    	call   *0x4261cc
40daf3:	6a 00                	push   $0x0
40daf5:	6a 00                	push   $0x0
40daf7:	68 c6 00 00 00       	push   $0xc6
40dafc:	ff 35 04 5e 42 00    	push   0x425e04
40db02:	ff 15 bc 62 42 00    	call   *0x4262bc
40db08:	33 c9                	xor    %ecx,%ecx
40db0a:	85 c0                	test   %eax,%eax
40db0c:	0f 94 c1             	sete   %cl
40db0f:	51                   	push   %ecx
40db10:	6a 10                	push   $0x10
40db12:	6a 01                	push   $0x1
40db14:	57                   	push   %edi
40db15:	ff 15 c8 61 42 00    	call   *0x4261c8
40db1b:	50                   	push   %eax
40db1c:	ff 15 cc 61 42 00    	call   *0x4261cc
40db22:	8b 35 f0 5b 42 00    	mov    0x425bf0,%esi
40db28:	f7 de                	neg    %esi
40db2a:	6a 02                	push   $0x2
40db2c:	1b f6                	sbb    %esi,%esi
40db2e:	57                   	push   %edi
40db2f:	83 e6 08             	and    $0x8,%esi
40db32:	ff 15 c8 61 42 00    	call   *0x4261c8
40db38:	56                   	push   %esi
40db39:	6a 20                	push   $0x20
40db3b:	50                   	push   %eax
40db3c:	ff 15 c4 61 42 00    	call   *0x4261c4
40db42:	6a 03                	push   $0x3
40db44:	57                   	push   %edi
40db45:	ff 15 c8 61 42 00    	call   *0x4261c8
40db4b:	8b 0d fc 5b 42 00    	mov    0x425bfc,%ecx
40db51:	f7 d9                	neg    %ecx
40db53:	1b c9                	sbb    %ecx,%ecx
40db55:	83 e1 08             	and    $0x8,%ecx
40db58:	51                   	push   %ecx
40db59:	6a 1b                	push   $0x1b
40db5b:	50                   	push   %eax
40db5c:	ff 15 c4 61 42 00    	call   *0x4261c4
40db62:	51                   	push   %ecx
40db63:	51                   	push   %ecx
40db64:	6a 01                	push   $0x1
40db66:	b9 c0 4d 42 00       	mov    $0x424dc0,%ecx
40db6b:	e8 3e 09 00 00       	call   0x40e4ae
40db70:	5f                   	pop    %edi
40db71:	5e                   	pop    %esi
40db72:	5b                   	pop    %ebx
40db73:	c9                   	leave
40db74:	c3                   	ret
40db75:	8b ff                	mov    %edi,%edi
40db77:	55                   	push   %ebp
40db78:	8b ec                	mov    %esp,%ebp
40db7a:	51                   	push   %ecx
40db7b:	8b 45 0c             	mov    0xc(%ebp),%eax
40db7e:	53                   	push   %ebx
40db7f:	66 8b 1d 44 4f 42 00 	mov    0x424f44,%bx
40db86:	56                   	push   %esi
40db87:	8b 75 08             	mov    0x8(%ebp),%esi
40db8a:	57                   	push   %edi
40db8b:	33 ff                	xor    %edi,%edi
40db8d:	48                   	dec    %eax
40db8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40db91:	eb 1c                	jmp    0x40dbaf
40db93:	3b f8                	cmp    %eax,%edi
40db95:	73 1d                	jae    0x40dbb4
40db97:	66 8b 01             	mov    (%ecx),%ax
40db9a:	66 89 06             	mov    %ax,(%esi)
40db9d:	83 c6 02             	add    $0x2,%esi
40dba0:	0f b7 01             	movzwl (%ecx),%eax
40dba3:	47                   	inc    %edi
40dba4:	83 c1 02             	add    $0x2,%ecx
40dba7:	66 85 c0             	test   %ax,%ax
40dbaa:	74 63                	je     0x40dc0f
40dbac:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dbaf:	66 39 19             	cmp    %bx,(%ecx)
40dbb2:	75 df                	jne    0x40db93
40dbb4:	85 d2                	test   %edx,%edx
40dbb6:	74 23                	je     0x40dbdb
40dbb8:	0f b7 1a             	movzwl (%edx),%ebx
40dbbb:	66 85 db             	test   %bx,%bx
40dbbe:	74 1b                	je     0x40dbdb
40dbc0:	2b d6                	sub    %esi,%edx
40dbc2:	3b f8                	cmp    %eax,%edi
40dbc4:	73 15                	jae    0x40dbdb
40dbc6:	66 89 1e             	mov    %bx,(%esi)
40dbc9:	83 c6 02             	add    $0x2,%esi
40dbcc:	47                   	inc    %edi
40dbcd:	0f b7 04 32          	movzwl (%edx,%esi,1),%eax
40dbd1:	8b d8                	mov    %eax,%ebx
40dbd3:	66 85 c0             	test   %ax,%ax
40dbd6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dbd9:	75 e7                	jne    0x40dbc2
40dbdb:	83 c1 04             	add    $0x4,%ecx
40dbde:	0f b7 01             	movzwl (%ecx),%eax
40dbe1:	66 85 c0             	test   %ax,%ax
40dbe4:	74 1c                	je     0x40dc02
40dbe6:	8b 55 fc             	mov    -0x4(%ebp),%edx
40dbe9:	3b fa                	cmp    %edx,%edi
40dbeb:	73 15                	jae    0x40dc02
40dbed:	83 c1 02             	add    $0x2,%ecx
40dbf0:	0f b7 c0             	movzwl %ax,%eax
40dbf3:	66 89 06             	mov    %ax,(%esi)
40dbf6:	83 c6 02             	add    $0x2,%esi
40dbf9:	47                   	inc    %edi
40dbfa:	0f b7 01             	movzwl (%ecx),%eax
40dbfd:	66 85 c0             	test   %ax,%ax
40dc00:	75 e7                	jne    0x40dbe9
40dc02:	33 c0                	xor    %eax,%eax
40dc04:	66 89 06             	mov    %ax,(%esi)
40dc07:	40                   	inc    %eax
40dc08:	5f                   	pop    %edi
40dc09:	5e                   	pop    %esi
40dc0a:	5b                   	pop    %ebx
40dc0b:	c9                   	leave
40dc0c:	c2 08 00             	ret    $0x8
40dc0f:	33 c0                	xor    %eax,%eax
40dc11:	eb f5                	jmp    0x40dc08
40dc13:	8b ff                	mov    %edi,%edi
40dc15:	55                   	push   %ebp
40dc16:	8b ec                	mov    %esp,%ebp
40dc18:	51                   	push   %ecx
40dc19:	51                   	push   %ecx
40dc1a:	53                   	push   %ebx
40dc1b:	56                   	push   %esi
40dc1c:	8b 75 0c             	mov    0xc(%ebp),%esi
40dc1f:	8b da                	mov    %edx,%ebx
40dc21:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40dc24:	57                   	push   %edi
40dc25:	85 f6                	test   %esi,%esi
40dc27:	74 10                	je     0x40dc39
40dc29:	ba 00 02 00 00       	mov    $0x200,%edx
40dc2e:	8b ce                	mov    %esi,%ecx
40dc30:	e8 52 ea 00 00       	call   0x41c687
40dc35:	8b f8                	mov    %eax,%edi
40dc37:	eb 02                	jmp    0x40dc3b
40dc39:	33 ff                	xor    %edi,%edi
40dc3b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dc3e:	ba 00 02 00 00       	mov    $0x200,%edx
40dc43:	e8 3f ea 00 00       	call   0x41c687
40dc48:	47                   	inc    %edi
40dc49:	03 c7                	add    %edi,%eax
40dc4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40dc4e:	03 c0                	add    %eax,%eax
40dc50:	50                   	push   %eax
40dc51:	6a 40                	push   $0x40
40dc53:	ff 15 bc 60 42 00    	call   *0x4260bc
40dc59:	8b f8                	mov    %eax,%edi
40dc5b:	85 ff                	test   %edi,%edi
40dc5d:	74 27                	je     0x40dc86
40dc5f:	ff 75 f8             	push   -0x8(%ebp)
40dc62:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dc65:	8b d6                	mov    %esi,%edx
40dc67:	57                   	push   %edi
40dc68:	e8 08 ff ff ff       	call   0x40db75
40dc6d:	ff 75 10             	push   0x10(%ebp)
40dc70:	53                   	push   %ebx
40dc71:	57                   	push   %edi
40dc72:	ff 75 fc             	push   -0x4(%ebp)
40dc75:	ff 15 c8 62 42 00    	call   *0x4262c8
40dc7b:	57                   	push   %edi
40dc7c:	8b f0                	mov    %eax,%esi
40dc7e:	ff 15 c0 60 42 00    	call   *0x4260c0
40dc84:	eb 12                	jmp    0x40dc98
40dc86:	ff 75 10             	push   0x10(%ebp)
40dc89:	53                   	push   %ebx
40dc8a:	ff 75 08             	push   0x8(%ebp)
40dc8d:	ff 75 fc             	push   -0x4(%ebp)
40dc90:	ff 15 c8 62 42 00    	call   *0x4262c8
40dc96:	8b f0                	mov    %eax,%esi
40dc98:	5f                   	pop    %edi
40dc99:	8b c6                	mov    %esi,%eax
40dc9b:	5e                   	pop    %esi
40dc9c:	5b                   	pop    %ebx
40dc9d:	c9                   	leave
40dc9e:	c2 0c 00             	ret    $0xc
40dca1:	81 f9 0e 00 07 80    	cmp    $0x8007000e,%ecx
40dca7:	75 1d                	jne    0x40dcc6
40dca9:	68 10 10 00 00       	push   $0x1010
40dcae:	ff 35 f0 42 42 00    	push   0x4242f0
40dcb4:	ff 35 f8 42 42 00    	push   0x4242f8
40dcba:	ff 35 0c 5e 42 00    	push   0x425e0c
40dcc0:	ff 15 c8 62 42 00    	call   *0x4262c8
40dcc6:	c3                   	ret
40dcc7:	8b ff                	mov    %edi,%edi
40dcc9:	55                   	push   %ebp
40dcca:	8b ec                	mov    %esp,%ebp
40dccc:	81 ec 94 01 00 00    	sub    $0x194,%esp
40dcd2:	a1 10 42 42 00       	mov    0x424210,%eax
40dcd7:	33 c5                	xor    %ebp,%eax
40dcd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dcdc:	ff 15 4c 90 42 00    	call   *0x42904c
40dce2:	8b d0                	mov    %eax,%edx