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
40dce4:	85 d2                	test   %edx,%edx
40dce6:	74 65                	je     0x40dd4d
40dce8:	56                   	push   %esi
40dce9:	33 f6                	xor    %esi,%esi
40dceb:	8b c6                	mov    %esi,%eax
40dced:	8b ce                	mov    %esi,%ecx
40dcef:	3b 91 c0 40 42 00    	cmp    0x4240c0(%ecx),%edx
40dcf5:	75 08                	jne    0x40dcff
40dcf7:	8b 81 c4 40 42 00    	mov    0x4240c4(%ecx),%eax
40dcfd:	8b 00                	mov    (%eax),%eax
40dcff:	83 c1 08             	add    $0x8,%ecx
40dd02:	83 f9 40             	cmp    $0x40,%ecx
40dd05:	72 e8                	jb     0x40dcef
40dd07:	85 c0                	test   %eax,%eax
40dd09:	75 21                	jne    0x40dd2c
40dd0b:	52                   	push   %edx
40dd0c:	ff 35 98 42 42 00    	push   0x424298
40dd12:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40dd18:	68 c8 00 00 00       	push   $0xc8
40dd1d:	50                   	push   %eax
40dd1e:	e8 d4 87 ff ff       	call   0x4064f7
40dd23:	83 c4 10             	add    $0x10,%esp
40dd26:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40dd2c:	66 39 30             	cmp    %si,(%eax)
40dd2f:	5e                   	pop    %esi
40dd30:	74 18                	je     0x40dd4a
40dd32:	68 10 10 00 00       	push   $0x1010
40dd37:	ff 35 f0 42 42 00    	push   0x4242f0
40dd3d:	50                   	push   %eax
40dd3e:	ff 35 0c 5e 42 00    	push   0x425e0c
40dd44:	ff 15 c8 62 42 00    	call   *0x4262c8
40dd4a:	33 c0                	xor    %eax,%eax
40dd4c:	40                   	inc    %eax
40dd4d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40dd50:	33 cd                	xor    %ebp,%ecx
40dd52:	e8 19 3b 01 00       	call   0x421870
40dd57:	c9                   	leave
40dd58:	c3                   	ret
40dd59:	cc                   	int3
40dd5a:	cc                   	int3
40dd5b:	cc                   	int3
40dd5c:	cc                   	int3
40dd5d:	cc                   	int3
40dd5e:	cc                   	int3
40dd5f:	cc                   	int3
40dd60:	8b ff                	mov    %edi,%edi
40dd62:	55                   	push   %ebp
40dd63:	8b ec                	mov    %esp,%ebp
40dd65:	81 ec d4 00 00 00    	sub    $0xd4,%esp
40dd6b:	a1 10 42 42 00       	mov    0x424210,%eax
40dd70:	33 c5                	xor    %ebp,%eax
40dd72:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dd75:	8b 45 0c             	mov    0xc(%ebp),%eax
40dd78:	53                   	push   %ebx
40dd79:	56                   	push   %esi
40dd7a:	8b 75 08             	mov    0x8(%ebp),%esi
40dd7d:	57                   	push   %edi
40dd7e:	2d 10 01 00 00       	sub    $0x110,%eax
40dd83:	0f 84 f3 00 00 00    	je     0x40de7c
40dd89:	83 e8 01             	sub    $0x1,%eax
40dd8c:	0f 85 e6 00 00 00    	jne    0x40de78
40dd92:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40dd96:	83 e8 01             	sub    $0x1,%eax
40dd99:	74 23                	je     0x40ddbe
40dd9b:	83 e8 01             	sub    $0x1,%eax
40dd9e:	74 10                	je     0x40ddb0
40dda0:	2d 00 01 00 00       	sub    $0x100,%eax
40dda5:	0f 85 cd 00 00 00    	jne    0x40de78
40ddab:	e9 36 01 00 00       	jmp    0x40dee6
40ddb0:	6a 01                	push   $0x1
40ddb2:	56                   	push   %esi
40ddb3:	ff 15 50 62 42 00    	call   *0x426250
40ddb9:	e9 28 01 00 00       	jmp    0x40dee6
40ddbe:	6a 64                	push   $0x64
40ddc0:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ddc6:	bb 02 01 00 00       	mov    $0x102,%ebx
40ddcb:	50                   	push   %eax
40ddcc:	53                   	push   %ebx
40ddcd:	56                   	push   %esi
40ddce:	ff 15 4c 62 42 00    	call   *0x42624c
40ddd4:	6a 64                	push   $0x64
40ddd6:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40dddc:	50                   	push   %eax
40dddd:	6a ff                	push   $0xffffffff
40dddf:	50                   	push   %eax
40dde0:	68 80 00 00 00       	push   $0x80
40dde5:	ff 15 c4 60 42 00    	call   *0x4260c4
40ddeb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ddf1:	50                   	push   %eax
40ddf2:	ff 15 f0 63 42 00    	call   *0x4263f0
40ddf8:	59                   	pop    %ecx
40ddf9:	33 ff                	xor    %edi,%edi
40ddfb:	a3 48 4f 42 00       	mov    %eax,0x424f48
40de00:	57                   	push   %edi
40de01:	48                   	dec    %eax
40de02:	50                   	push   %eax
40de03:	68 bb 00 00 00       	push   $0xbb
40de08:	ff 35 04 5e 42 00    	push   0x425e04
40de0e:	ff 15 bc 62 42 00    	call   *0x4262bc
40de14:	39 3d 48 4f 42 00    	cmp    %edi,0x424f48
40de1a:	76 08                	jbe    0x40de24
40de1c:	83 f8 ff             	cmp    $0xffffffff,%eax
40de1f:	74 03                	je     0x40de24
40de21:	57                   	push   %edi
40de22:	eb 8e                	jmp    0x40ddb2
40de24:	57                   	push   %edi
40de25:	ff 35 94 42 42 00    	push   0x424294
40de2b:	ff 35 90 42 42 00    	push   0x424290
40de31:	56                   	push   %esi
40de32:	ff 15 c8 62 42 00    	call   *0x4262c8
40de38:	57                   	push   %edi
40de39:	57                   	push   %edi
40de3a:	68 ba 00 00 00       	push   $0xba
40de3f:	ff 35 04 5e 42 00    	push   0x425e04
40de45:	ff 15 bc 62 42 00    	call   *0x4262bc
40de4b:	50                   	push   %eax
40de4c:	68 18 1f 40 00       	push   $0x401f18
40de51:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40de57:	6a 64                	push   $0x64
40de59:	50                   	push   %eax
40de5a:	e8 98 86 ff ff       	call   0x4064f7
40de5f:	83 c4 10             	add    $0x10,%esp
40de62:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40de68:	50                   	push   %eax
40de69:	53                   	push   %ebx
40de6a:	56                   	push   %esi
40de6b:	ff 15 48 62 42 00    	call   *0x426248
40de71:	56                   	push   %esi
40de72:	ff 15 f4 61 42 00    	call   *0x4261f4
40de78:	33 c0                	xor    %eax,%eax
40de7a:	eb 6d                	jmp    0x40dee9
40de7c:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
40de82:	50                   	push   %eax
40de83:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40de89:	50                   	push   %eax
40de8a:	68 b0 00 00 00       	push   $0xb0
40de8f:	ff 35 04 5e 42 00    	push   0x425e04
40de95:	ff 15 bc 62 42 00    	call   *0x4262bc
40de9b:	6a 00                	push   $0x0
40de9d:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
40dea3:	68 c9 00 00 00       	push   $0xc9
40dea8:	ff 35 04 5e 42 00    	push   0x425e04
40deae:	ff 15 bc 62 42 00    	call   *0x4262bc
40deb4:	40                   	inc    %eax
40deb5:	50                   	push   %eax
40deb6:	68 18 1f 40 00       	push   $0x401f18
40debb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40dec1:	6a 64                	push   $0x64
40dec3:	50                   	push   %eax
40dec4:	e8 2e 86 ff ff       	call   0x4064f7
40dec9:	83 c4 10             	add    $0x10,%esp
40decc:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ded2:	50                   	push   %eax
40ded3:	68 02 01 00 00       	push   $0x102
40ded8:	56                   	push   %esi
40ded9:	ff 15 48 62 42 00    	call   *0x426248
40dedf:	56                   	push   %esi
40dee0:	ff 15 f4 61 42 00    	call   *0x4261f4
40dee6:	33 c0                	xor    %eax,%eax
40dee8:	40                   	inc    %eax
40dee9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40deec:	5f                   	pop    %edi
40deed:	5e                   	pop    %esi
40deee:	33 cd                	xor    %ebp,%ecx
40def0:	5b                   	pop    %ebx
40def1:	e8 7a 39 01 00       	call   0x421870
40def6:	c9                   	leave
40def7:	c2 10 00             	ret    $0x10
40defa:	8b ff                	mov    %edi,%edi
40defc:	55                   	push   %ebp
40defd:	8b ec                	mov    %esp,%ebp
40deff:	53                   	push   %ebx
40df00:	56                   	push   %esi
40df01:	33 db                	xor    %ebx,%ebx
40df03:	8b f1                	mov    %ecx,%esi