401c26:	52                   	push   %edx
401c27:	ff 15 70 70 41 00    	call   *0x417070
401c2d:	8d 44 24 10          	lea    0x10(%esp),%eax
401c31:	50                   	push   %eax
401c32:	8d 8c 24 18 01 00 00 	lea    0x118(%esp),%ecx
401c39:	51                   	push   %ecx
401c3a:	ff 15 38 70 41 00    	call   *0x417038
401c40:	6a 30                	push   $0x30
401c42:	68 d8 72 41 00       	push   $0x4172d8
401c47:	68 f4 72 41 00       	push   $0x4172f4
401c4c:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
401c52:	52                   	push   %edx
401c53:	ff 15 90 71 41 00    	call   *0x417190
401c59:	5f                   	pop    %edi
401c5a:	5b                   	pop    %ebx
401c5b:	5e                   	pop    %esi
401c5c:	8b 8c 24 10 03 00 00 	mov    0x310(%esp),%ecx
401c63:	33 cc                	xor    %esp,%ecx
401c65:	e8 cb 42 00 00       	call   0x405f35
401c6a:	81 c4 14 03 00 00    	add    $0x314,%esp
401c70:	c3                   	ret
401c71:	cc                   	int3
401c72:	cc                   	int3
401c73:	cc                   	int3
401c74:	cc                   	int3
401c75:	cc                   	int3
401c76:	cc                   	int3
401c77:	cc                   	int3
401c78:	cc                   	int3
401c79:	cc                   	int3
401c7a:	cc                   	int3
401c7b:	cc                   	int3
401c7c:	cc                   	int3
401c7d:	cc                   	int3
401c7e:	cc                   	int3
401c7f:	cc                   	int3
401c80:	83 79 18 10          	cmpl   $0x10,0x18(%ecx)
401c84:	8b 44 24 04          	mov    0x4(%esp),%eax
401c88:	89 41 14             	mov    %eax,0x14(%ecx)
401c8b:	72 0a                	jb     0x401c97
401c8d:	8b 49 04             	mov    0x4(%ecx),%ecx
401c90:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
401c94:	c2 04 00             	ret    $0x4
401c97:	c6 44 01 04 00       	movb   $0x0,0x4(%ecx,%eax,1)
401c9c:	c2 04 00             	ret    $0x4
401c9f:	cc                   	int3
401ca0:	8b 44 24 08          	mov    0x8(%esp),%eax
401ca4:	83 e8 10             	sub    $0x10,%eax
401ca7:	0f 84 11 01 00 00    	je     0x401dbe
401cad:	2d 00 01 00 00       	sub    $0x100,%eax
401cb2:	74 4d                	je     0x401d01
401cb4:	83 e8 01             	sub    $0x1,%eax
401cb7:	75 43                	jne    0x401cfc
401cb9:	8b 44 24 10          	mov    0x10(%esp),%eax
401cbd:	3b 05 cc d6 41 00    	cmp    0x41d6cc,%eax
401cc3:	75 0d                	jne    0x401cd2
401cc5:	e8 b6 f6 ff ff       	call   0x401380
401cca:	b8 01 00 00 00       	mov    $0x1,%eax
401ccf:	c2 10 00             	ret    $0x10
401cd2:	3b 05 c8 d6 41 00    	cmp    0x41d6c8,%eax
401cd8:	75 0d                	jne    0x401ce7
401cda:	e8 11 f9 ff ff       	call   0x4015f0
401cdf:	b8 01 00 00 00       	mov    $0x1,%eax
401ce4:	c2 10 00             	ret    $0x10
401ce7:	3b 05 c4 d6 41 00    	cmp    0x41d6c4,%eax
401ced:	75 0d                	jne    0x401cfc
401cef:	e8 bc fc ff ff       	call   0x4019b0
401cf4:	b8 01 00 00 00       	mov    $0x1,%eax
401cf9:	c2 10 00             	ret    $0x10
401cfc:	33 c0                	xor    %eax,%eax
401cfe:	c2 10 00             	ret    $0x10
401d01:	8b 0d b4 d6 41 00    	mov    0x41d6b4,%ecx
401d07:	8b 44 24 04          	mov    0x4(%esp),%eax
401d0b:	56                   	push   %esi
401d0c:	8b 35 80 71 41 00    	mov    0x417180,%esi
401d12:	57                   	push   %edi
401d13:	51                   	push   %ecx
401d14:	6a 01                	push   $0x1
401d16:	68 80 00 00 00       	push   $0x80
401d1b:	50                   	push   %eax
401d1c:	a3 d0 d6 41 00       	mov    %eax,0x41d6d0
401d21:	ff d6                	call   *%esi
401d23:	8b 15 b4 d6 41 00    	mov    0x41d6b4,%edx
401d29:	a1 d0 d6 41 00       	mov    0x41d6d0,%eax
401d2e:	52                   	push   %edx
401d2f:	6a 00                	push   $0x0
401d31:	68 80 00 00 00       	push   $0x80
401d36:	50                   	push   %eax
401d37:	ff d6                	call   *%esi
401d39:	8b 0d d0 d6 41 00    	mov    0x41d6d0,%ecx
401d3f:	8b 3d 84 71 41 00    	mov    0x417184,%edi
401d45:	68 ea 03 00 00       	push   $0x3ea
401d4a:	51                   	push   %ecx
401d4b:	ff d7                	call   *%edi
401d4d:	8b 15 c0 d6 41 00    	mov    0x41d6c0,%edx
401d53:	52                   	push   %edx
401d54:	6a 00                	push   $0x0
401d56:	68 f7 00 00 00       	push   $0xf7
401d5b:	50                   	push   %eax
401d5c:	a3 cc d6 41 00       	mov    %eax,0x41d6cc
401d61:	ff d6                	call   *%esi
401d63:	a1 d0 d6 41 00       	mov    0x41d6d0,%eax
401d68:	68 eb 03 00 00       	push   $0x3eb
401d6d:	50                   	push   %eax
401d6e:	ff d7                	call   *%edi
401d70:	8b 0d bc d6 41 00    	mov    0x41d6bc,%ecx
401d76:	51                   	push   %ecx
401d77:	6a 00                	push   $0x0
401d79:	68 f7 00 00 00       	push   $0xf7
401d7e:	50                   	push   %eax
401d7f:	a3 c8 d6 41 00       	mov    %eax,0x41d6c8
401d84:	ff d6                	call   *%esi
401d86:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
401d8c:	68 ec 03 00 00       	push   $0x3ec
401d91:	52                   	push   %edx
401d92:	ff d7                	call   *%edi
401d94:	8b 0d b8 d6 41 00    	mov    0x41d6b8,%ecx
401d9a:	51                   	push   %ecx
401d9b:	6a 00                	push   $0x0
401d9d:	68 f7 00 00 00       	push   $0xf7
401da2:	50                   	push   %eax
401da3:	a3 c4 d6 41 00       	mov    %eax,0x41d6c4
401da8:	ff d6                	call   *%esi
401daa:	6a 00                	push   $0x0
401dac:	e8 7f f4 ff ff       	call   0x401230
401db1:	83 c4 04             	add    $0x4,%esp
401db4:	5f                   	pop    %edi
401db5:	5e                   	pop    %esi
401db6:	b8 01 00 00 00       	mov    $0x1,%eax
401dbb:	c2 10 00             	ret    $0x10
401dbe:	8b 54 24 04          	mov    0x4(%esp),%edx
401dc2:	6a 00                	push   $0x0
401dc4:	52                   	push   %edx
401dc5:	ff 15 88 71 41 00    	call   *0x417188
401dcb:	b8 01 00 00 00       	mov    $0x1,%eax
401dd0:	c2 10 00             	ret    $0x10
401dd3:	cc                   	int3
401dd4:	cc                   	int3
401dd5:	cc                   	int3
401dd6:	cc                   	int3
401dd7:	cc                   	int3
401dd8:	cc                   	int3
401dd9:	cc                   	int3
401dda:	cc                   	int3
401ddb:	cc                   	int3
401ddc:	cc                   	int3
401ddd:	cc                   	int3
401dde:	cc                   	int3
401ddf:	cc                   	int3
401de0:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
401de5:	56                   	push   %esi
401de6:	57                   	push   %edi
401de7:	8b 7c 24 10          	mov    0x10(%esp),%edi
401deb:	8b f1                	mov    %ecx,%esi
401ded:	74 27                	je     0x401e16
401def:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
401df3:	72 21                	jb     0x401e16
401df5:	85 ff                	test   %edi,%edi
401df7:	8d 46 04             	lea    0x4(%esi),%eax
401dfa:	53                   	push   %ebx
401dfb:	8b 18                	mov    (%eax),%ebx
401dfd:	76 0d                	jbe    0x401e0c
401dff:	57                   	push   %edi
401e00:	53                   	push   %ebx
401e01:	6a 10                	push   $0x10
401e03:	50                   	push   %eax
401e04:	e8 2b 3c 00 00       	call   0x405a34
401e09:	83 c4 10             	add    $0x10,%esp
401e0c:	53                   	push   %ebx
401e0d:	e8 1d 3c 00 00       	call   0x405a2f
401e12:	83 c4 04             	add    $0x4,%esp
401e15:	5b                   	pop    %ebx
401e16:	89 7e 14             	mov    %edi,0x14(%esi)
401e19:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
401e20:	c6 44 3e 04 00       	movb   $0x0,0x4(%esi,%edi,1)
401e25:	5f                   	pop    %edi
401e26:	5e                   	pop    %esi
401e27:	c2 08 00             	ret    $0x8
401e2a:	cc                   	int3
401e2b:	cc                   	int3
401e2c:	cc                   	int3
401e2d:	cc                   	int3
401e2e:	cc                   	int3
401e2f:	cc                   	int3
401e30:	53                   	push   %ebx
401e31:	8b 5c 24 08          	mov    0x8(%esp),%ebx
401e35:	56                   	push   %esi
401e36:	8b f1                	mov    %ecx,%esi
401e38:	39 5e 14             	cmp    %ebx,0x14(%esi)
401e3b:	57                   	push   %edi
401e3c:	73 05                	jae    0x401e43
401e3e:	e8 10 16 00 00       	call   0x403453
401e43:	8b 46 14             	mov    0x14(%esi),%eax
401e46:	8b 7c 24 14          	mov    0x14(%esp),%edi
401e4a:	2b c3                	sub    %ebx,%eax
401e4c:	3b c7                	cmp    %edi,%eax
401e4e:	73 02                	jae    0x401e52
401e50:	8b f8                	mov    %eax,%edi
401e52:	85 ff                	test   %edi,%edi
401e54:	76 55                	jbe    0x401eab
401e56:	8b 4e 18             	mov    0x18(%esi),%ecx
401e59:	83 f9 10             	cmp    $0x10,%ecx
401e5c:	55                   	push   %ebp
401e5d:	8d 6e 04             	lea    0x4(%esi),%ebp
401e60:	72 09                	jb     0x401e6b
401e62:	8b 55 00             	mov    0x0(%ebp),%edx
401e65:	89 54 24 14          	mov    %edx,0x14(%esp)
401e69:	eb 04                	jmp    0x401e6f
401e6b:	89 6c 24 14          	mov    %ebp,0x14(%esp)
401e6f:	83 f9 10             	cmp    $0x10,%ecx
401e72:	72 05                	jb     0x401e79
401e74:	8b 55 00             	mov    0x0(%ebp),%edx
401e77:	eb 02                	jmp    0x401e7b
401e79:	8b d5                	mov    %ebp,%edx
401e7b:	2b c7                	sub    %edi,%eax
401e7d:	50                   	push   %eax
401e7e:	8b 44 24 18          	mov    0x18(%esp),%eax
401e82:	03 c3                	add    %ebx,%eax
401e84:	03 c7                	add    %edi,%eax
401e86:	50                   	push   %eax
401e87:	2b cb                	sub    %ebx,%ecx
401e89:	51                   	push   %ecx
401e8a:	03 d3                	add    %ebx,%edx
401e8c:	52                   	push   %edx
401e8d:	e8 1d 3c 00 00       	call   0x405aaf
401e92:	8b 46 14             	mov    0x14(%esi),%eax
401e95:	2b c7                	sub    %edi,%eax
401e97:	83 c4 10             	add    $0x10,%esp
401e9a:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
401e9e:	89 46 14             	mov    %eax,0x14(%esi)
401ea1:	72 03                	jb     0x401ea6
401ea3:	8b 6d 00             	mov    0x0(%ebp),%ebp
401ea6:	c6 04 28 00          	movb   $0x0,(%eax,%ebp,1)
401eaa:	5d                   	pop    %ebp
401eab:	5f                   	pop    %edi
401eac:	8b c6                	mov    %esi,%eax
401eae:	5e                   	pop    %esi
401eaf:	5b                   	pop    %ebx
401eb0:	c2 08 00             	ret    $0x8
401eb3:	cc                   	int3
401eb4:	cc                   	int3
401eb5:	cc                   	int3
401eb6:	cc                   	int3
401eb7:	cc                   	int3
401eb8:	cc                   	int3
401eb9:	cc                   	int3
401eba:	cc                   	int3
401ebb:	cc                   	int3
401ebc:	cc                   	int3
401ebd:	cc                   	int3
401ebe:	cc                   	int3
401ebf:	cc                   	int3
401ec0:	55                   	push   %ebp
401ec1:	8b ec                	mov    %esp,%ebp
401ec3:	6a ff                	push   $0xffffffff
401ec5:	68 f0 59 41 00       	push   $0x4159f0
401eca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401ed0:	50                   	push   %eax
401ed1:	83 ec 0c             	sub    $0xc,%esp
401ed4:	53                   	push   %ebx
401ed5:	56                   	push   %esi
401ed6:	57                   	push   %edi
401ed7:	a1 20 c5 41 00       	mov    0x41c520,%eax
401edc:	33 c5                	xor    %ebp,%eax
401ede:	50                   	push   %eax
401edf:	8d 45 f4             	lea    -0xc(%ebp),%eax
401ee2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ee8:	89 65 f0             	mov    %esp,-0x10(%ebp)
401eeb:	8b f9                	mov    %ecx,%edi
401eed:	89 7d ec             	mov    %edi,-0x14(%ebp)
401ef0:	8b 45 08             	mov    0x8(%ebp),%eax
401ef3:	8b f0                	mov    %eax,%esi
401ef5:	83 ce 0f             	or     $0xf,%esi
401ef8:	83 fe fe             	cmp    $0xfffffffe,%esi
401efb:	76 04                	jbe    0x401f01
401efd:	8b f0                	mov    %eax,%esi
401eff:	eb 22                	jmp    0x401f23
401f01:	8b 5f 18             	mov    0x18(%edi),%ebx
401f04:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
401f09:	f7 e6                	mul    %esi
401f0b:	8b cb                	mov    %ebx,%ecx
401f0d:	d1 e9                	shr    $1,%ecx
401f0f:	d1 ea                	shr    $1,%edx
401f11:	3b d1                	cmp    %ecx,%edx
401f13:	73 0e                	jae    0x401f23
401f15:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
401f1a:	2b c1                	sub    %ecx,%eax
401f1c:	3b d8                	cmp    %eax,%ebx
401f1e:	77 03                	ja     0x401f23
401f20:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
401f23:	8d 4e 01             	lea    0x1(%esi),%ecx
401f26:	6a 00                	push   $0x0
401f28:	51                   	push   %ecx
401f29:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401f30:	e8 3b f6 ff ff       	call   0x401570
401f35:	83 c4 08             	add    $0x8,%esp
401f38:	89 45 08             	mov    %eax,0x8(%ebp)
401f3b:	eb 2a                	jmp    0x401f67
401f3d:	8b 45 08             	mov    0x8(%ebp),%eax
401f40:	89 65 f0             	mov    %esp,-0x10(%ebp)
401f43:	89 45 e8             	mov    %eax,-0x18(%ebp)
401f46:	83 c0 01             	add    $0x1,%eax
401f49:	6a 00                	push   $0x0
401f4b:	50                   	push   %eax
401f4c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401f50:	e8 1b f6 ff ff       	call   0x401570
401f55:	89 45 08             	mov    %eax,0x8(%ebp)
401f58:	83 c4 08             	add    $0x8,%esp
401f5b:	b8 61 1f 40 00       	mov    $0x401f61,%eax
401f60:	c3                   	ret
401f61:	8b 7d ec             	mov    -0x14(%ebp),%edi
401f64:	8b 75 e8             	mov    -0x18(%ebp),%esi
401f67:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401f6a:	85 db                	test   %ebx,%ebx
401f6c:	76 20                	jbe    0x401f8e
401f6e:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
401f72:	72 05                	jb     0x401f79
401f74:	8b 47 04             	mov    0x4(%edi),%eax
401f77:	eb 03                	jmp    0x401f7c
401f79:	8d 47 04             	lea    0x4(%edi),%eax
401f7c:	53                   	push   %ebx
401f7d:	50                   	push   %eax
401f7e:	8b 45 08             	mov    0x8(%ebp),%eax
401f81:	8d 56 01             	lea    0x1(%esi),%edx
401f84:	52                   	push   %edx
401f85:	50                   	push   %eax
401f86:	e8 a9 3a 00 00       	call   0x405a34
401f8b:	83 c4 10             	add    $0x10,%esp
401f8e:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
401f92:	72 0c                	jb     0x401fa0
401f94:	8b 4f 04             	mov    0x4(%edi),%ecx
401f97:	51                   	push   %ecx
401f98:	e8 92 3a 00 00       	call   0x405a2f
401f9d:	83 c4 04             	add    $0x4,%esp
401fa0:	83 fe 10             	cmp    $0x10,%esi
401fa3:	8b 4d 08             	mov    0x8(%ebp),%ecx
401fa6:	8d 47 04             	lea    0x4(%edi),%eax
401fa9:	c6 00 00             	movb   $0x0,(%eax)
401fac:	89 08                	mov    %ecx,(%eax)
401fae:	89 77 18             	mov    %esi,0x18(%edi)
401fb1:	89 5f 14             	mov    %ebx,0x14(%edi)
401fb4:	72 02                	jb     0x401fb8
401fb6:	8b c1                	mov    %ecx,%eax
401fb8:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
401fbc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401fbf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401fc6:	59                   	pop    %ecx
401fc7:	5f                   	pop    %edi
401fc8:	5e                   	pop    %esi
401fc9:	5b                   	pop    %ebx