401bac:	cc                   	int3
401bad:	cc                   	int3
401bae:	cc                   	int3
401baf:	cc                   	int3
401bb0:	55                   	push   %ebp
401bb1:	8b ec                	mov    %esp,%ebp
401bb3:	8b 45 08             	mov    0x8(%ebp),%eax
401bb6:	56                   	push   %esi
401bb7:	8b f1                	mov    %ecx,%esi
401bb9:	8b 48 04             	mov    0x4(%eax),%ecx
401bbc:	89 4e 04             	mov    %ecx,0x4(%esi)
401bbf:	8b 01                	mov    (%ecx),%eax
401bc1:	ff 50 04             	call   *0x4(%eax)
401bc4:	8b c6                	mov    %esi,%eax
401bc6:	5e                   	pop    %esi
401bc7:	5d                   	pop    %ebp
401bc8:	c2 04 00             	ret    $0x4
401bcb:	cc                   	int3
401bcc:	cc                   	int3
401bcd:	cc                   	int3
401bce:	cc                   	int3
401bcf:	cc                   	int3
401bd0:	8b 49 04             	mov    0x4(%ecx),%ecx
401bd3:	85 c9                	test   %ecx,%ecx
401bd5:	74 11                	je     0x401be8
401bd7:	8b 01                	mov    (%ecx),%eax
401bd9:	ff 50 08             	call   *0x8(%eax)
401bdc:	85 c0                	test   %eax,%eax
401bde:	74 08                	je     0x401be8
401be0:	8b 10                	mov    (%eax),%edx
401be2:	8b c8                	mov    %eax,%ecx
401be4:	6a 01                	push   $0x1
401be6:	ff 12                	call   *(%edx)
401be8:	c3                   	ret
401be9:	cc                   	int3
401bea:	cc                   	int3
401beb:	cc                   	int3
401bec:	cc                   	int3
401bed:	cc                   	int3
401bee:	cc                   	int3
401bef:	cc                   	int3
401bf0:	8b 41 04             	mov    0x4(%ecx),%eax
401bf3:	85 c0                	test   %eax,%eax
401bf5:	74 0e                	je     0x401c05
401bf7:	8b 48 18             	mov    0x18(%eax),%ecx
401bfa:	85 c9                	test   %ecx,%ecx
401bfc:	74 03                	je     0x401c01
401bfe:	8b c1                	mov    %ecx,%eax
401c00:	c3                   	ret
401c01:	83 c0 1c             	add    $0x1c,%eax
401c04:	c3                   	ret
401c05:	b8 db f6 42 00       	mov    $0x42f6db,%eax
401c0a:	c3                   	ret
401c0b:	cc                   	int3
401c0c:	cc                   	int3
401c0d:	cc                   	int3
401c0e:	cc                   	int3
401c0f:	cc                   	int3
401c10:	55                   	push   %ebp
401c11:	8b ec                	mov    %esp,%ebp
401c13:	8b 49 04             	mov    0x4(%ecx),%ecx
401c16:	56                   	push   %esi
401c17:	8b 75 08             	mov    0x8(%ebp),%esi
401c1a:	3b 71 0c             	cmp    0xc(%ecx),%esi
401c1d:	73 0c                	jae    0x401c2b
401c1f:	8b 41 08             	mov    0x8(%ecx),%eax
401c22:	8b 04 b0             	mov    (%eax,%esi,4),%eax
401c25:	85 c0                	test   %eax,%eax
401c27:	75 21                	jne    0x401c4a
401c29:	eb 02                	jmp    0x401c2d
401c2b:	33 c0                	xor    %eax,%eax
401c2d:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
401c31:	74 17                	je     0x401c4a
401c33:	e8 9c 4e 00 00       	call   0x406ad4
401c38:	3b 70 0c             	cmp    0xc(%eax),%esi
401c3b:	73 0b                	jae    0x401c48
401c3d:	8b 40 08             	mov    0x8(%eax),%eax
401c40:	8b 04 b0             	mov    (%eax,%esi,4),%eax
401c43:	5e                   	pop    %esi
401c44:	5d                   	pop    %ebp
401c45:	c2 04 00             	ret    $0x4
401c48:	33 c0                	xor    %eax,%eax
401c4a:	5e                   	pop    %esi
401c4b:	5d                   	pop    %ebp
401c4c:	c2 04 00             	ret    $0x4
401c4f:	cc                   	int3
401c50:	55                   	push   %ebp
401c51:	8b ec                	mov    %esp,%ebp
401c53:	8d 41 08             	lea    0x8(%ecx),%eax
401c56:	50                   	push   %eax
401c57:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
401c5b:	50                   	push   %eax
401c5c:	e8 23 51 00 00       	call   0x406d84
401c61:	83 c4 08             	add    $0x8,%esp
401c64:	5d                   	pop    %ebp
401c65:	c2 04 00             	ret    $0x4
401c68:	cc                   	int3
401c69:	cc                   	int3
401c6a:	cc                   	int3
401c6b:	cc                   	int3
401c6c:	cc                   	int3
401c6d:	cc                   	int3
401c6e:	cc                   	int3
401c6f:	cc                   	int3
401c70:	55                   	push   %ebp
401c71:	8b ec                	mov    %esp,%ebp
401c73:	56                   	push   %esi
401c74:	8b 75 08             	mov    0x8(%ebp),%esi
401c77:	57                   	push   %edi
401c78:	8b 7d 0c             	mov    0xc(%ebp),%edi
401c7b:	3b f7                	cmp    %edi,%esi
401c7d:	74 19                	je     0x401c98
401c7f:	53                   	push   %ebx
401c80:	8d 59 08             	lea    0x8(%ecx),%ebx
401c83:	0f b6 06             	movzbl (%esi),%eax
401c86:	53                   	push   %ebx
401c87:	50                   	push   %eax
401c88:	e8 f7 50 00 00       	call   0x406d84
401c8d:	88 06                	mov    %al,(%esi)
401c8f:	83 c4 08             	add    $0x8,%esp
401c92:	46                   	inc    %esi
401c93:	3b f7                	cmp    %edi,%esi
401c95:	75 ec                	jne    0x401c83
401c97:	5b                   	pop    %ebx
401c98:	5f                   	pop    %edi
401c99:	8b c6                	mov    %esi,%eax
401c9b:	5e                   	pop    %esi
401c9c:	5d                   	pop    %ebp
401c9d:	c2 08 00             	ret    $0x8
401ca0:	55                   	push   %ebp
401ca1:	8b ec                	mov    %esp,%ebp
401ca3:	8d 41 08             	lea    0x8(%ecx),%eax
401ca6:	50                   	push   %eax
401ca7:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
401cab:	50                   	push   %eax
401cac:	e8 44 52 00 00       	call   0x406ef5
401cb1:	83 c4 08             	add    $0x8,%esp
401cb4:	5d                   	pop    %ebp
401cb5:	c2 04 00             	ret    $0x4
401cb8:	cc                   	int3
401cb9:	cc                   	int3
401cba:	cc                   	int3
401cbb:	cc                   	int3
401cbc:	cc                   	int3
401cbd:	cc                   	int3
401cbe:	cc                   	int3
401cbf:	cc                   	int3
401cc0:	55                   	push   %ebp
401cc1:	8b ec                	mov    %esp,%ebp
401cc3:	56                   	push   %esi
401cc4:	8b 75 08             	mov    0x8(%ebp),%esi
401cc7:	57                   	push   %edi
401cc8:	8b 7d 0c             	mov    0xc(%ebp),%edi
401ccb:	3b f7                	cmp    %edi,%esi
401ccd:	74 19                	je     0x401ce8
401ccf:	53                   	push   %ebx
401cd0:	8d 59 08             	lea    0x8(%ecx),%ebx
401cd3:	0f b6 06             	movzbl (%esi),%eax
401cd6:	53                   	push   %ebx
401cd7:	50                   	push   %eax
401cd8:	e8 18 52 00 00       	call   0x406ef5
401cdd:	88 06                	mov    %al,(%esi)
401cdf:	83 c4 08             	add    $0x8,%esp
401ce2:	46                   	inc    %esi
401ce3:	3b f7                	cmp    %edi,%esi
401ce5:	75 ec                	jne    0x401cd3
401ce7:	5b                   	pop    %ebx
401ce8:	5f                   	pop    %edi
401ce9:	8b c6                	mov    %esi,%eax
401ceb:	5e                   	pop    %esi
401cec:	5d                   	pop    %ebp
401ced:	c2 08 00             	ret    $0x8
401cf0:	55                   	push   %ebp
401cf1:	8b ec                	mov    %esp,%ebp
401cf3:	8a 45 08             	mov    0x8(%ebp),%al
401cf6:	5d                   	pop    %ebp
401cf7:	c2 04 00             	ret    $0x4
401cfa:	cc                   	int3
401cfb:	cc                   	int3
401cfc:	cc                   	int3
401cfd:	cc                   	int3
401cfe:	cc                   	int3
401cff:	cc                   	int3
401d00:	55                   	push   %ebp
401d01:	8b ec                	mov    %esp,%ebp
401d03:	8b 55 08             	mov    0x8(%ebp),%edx
401d06:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401d09:	2b ca                	sub    %edx,%ecx
401d0b:	51                   	push   %ecx
401d0c:	52                   	push   %edx
401d0d:	ff 75 10             	push   0x10(%ebp)
401d10:	e8 5b 6c 00 00       	call   0x408970
401d15:	8b 45 0c             	mov    0xc(%ebp),%eax
401d18:	83 c4 0c             	add    $0xc,%esp
401d1b:	5d                   	pop    %ebp
401d1c:	c2 0c 00             	ret    $0xc
401d1f:	cc                   	int3
401d20:	55                   	push   %ebp
401d21:	8b ec                	mov    %esp,%ebp
401d23:	8a 45 08             	mov    0x8(%ebp),%al
401d26:	5d                   	pop    %ebp
401d27:	c2 08 00             	ret    $0x8
401d2a:	cc                   	int3
401d2b:	cc                   	int3
401d2c:	cc                   	int3
401d2d:	cc                   	int3
401d2e:	cc                   	int3
401d2f:	cc                   	int3
401d30:	55                   	push   %ebp
401d31:	8b ec                	mov    %esp,%ebp
401d33:	8b 55 08             	mov    0x8(%ebp),%edx
401d36:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401d39:	2b ca                	sub    %edx,%ecx
401d3b:	51                   	push   %ecx
401d3c:	52                   	push   %edx
401d3d:	ff 75 14             	push   0x14(%ebp)
401d40:	e8 2b 6c 00 00       	call   0x408970
401d45:	8b 45 0c             	mov    0xc(%ebp),%eax
401d48:	83 c4 0c             	add    $0xc,%esp
401d4b:	5d                   	pop    %ebp
401d4c:	c2 10 00             	ret    $0x10
401d4f:	cc                   	int3
401d50:	55                   	push   %ebp
401d51:	8b ec                	mov    %esp,%ebp
401d53:	56                   	push   %esi
401d54:	8b f1                	mov    %ecx,%esi
401d56:	8b 46 10             	mov    0x10(%esi),%eax
401d59:	c7 06 88 43 42 00    	movl   $0x424388,(%esi)
401d5f:	85 c0                	test   %eax,%eax
401d61:	7e 0a                	jle    0x401d6d
401d63:	ff 76 0c             	push   0xc(%esi)
401d66:	e8 a8 ae 00 00       	call   0x40cc13
401d6b:	eb 0a                	jmp    0x401d77
401d6d:	79 0b                	jns    0x401d7a
401d6f:	ff 76 0c             	push   0xc(%esi)
401d72:	e8 a3 56 00 00       	call   0x40741a
401d77:	83 c4 04             	add    $0x4,%esp
401d7a:	ff 76 14             	push   0x14(%esi)
401d7d:	e8 91 ae 00 00       	call   0x40cc13
401d82:	83 c4 04             	add    $0x4,%esp
401d85:	c7 06 78 43 42 00    	movl   $0x424378,(%esi)
401d8b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
401d8f:	74 0b                	je     0x401d9c
401d91:	6a 18                	push   $0x18
401d93:	56                   	push   %esi
401d94:	e8 b3 58 00 00       	call   0x40764c
401d99:	83 c4 08             	add    $0x8,%esp
401d9c:	8b c6                	mov    %esi,%eax
401d9e:	5e                   	pop    %esi
401d9f:	5d                   	pop    %ebp
401da0:	c2 04 00             	ret    $0x4
401da3:	cc                   	int3
401da4:	cc                   	int3
401da5:	cc                   	int3
401da6:	cc                   	int3
401da7:	cc                   	int3
401da8:	cc                   	int3
401da9:	cc                   	int3
401daa:	cc                   	int3
401dab:	cc                   	int3
401dac:	cc                   	int3
401dad:	cc                   	int3
401dae:	cc                   	int3
401daf:	cc                   	int3
401db0:	55                   	push   %ebp
401db1:	8b ec                	mov    %esp,%ebp
401db3:	6a ff                	push   $0xffffffff
401db5:	68 8d 2a 42 00       	push   $0x422a8d
401dba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401dc0:	50                   	push   %eax
401dc1:	83 ec 20             	sub    $0x20,%esp
401dc4:	a1 14 30 43 00       	mov    0x433014,%eax
401dc9:	33 c5                	xor    %ebp,%eax
401dcb:	89 45 f0             	mov    %eax,-0x10(%ebp)
401dce:	53                   	push   %ebx
401dcf:	56                   	push   %esi
401dd0:	57                   	push   %edi
401dd1:	50                   	push   %eax
401dd2:	8d 45 f4             	lea    -0xc(%ebp),%eax
401dd5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ddb:	8b f1                	mov    %ecx,%esi
401ddd:	89 75 d4             	mov    %esi,-0x2c(%ebp)
401de0:	8b 45 0c             	mov    0xc(%ebp),%eax
401de3:	8b 55 08             	mov    0x8(%ebp),%edx
401de6:	8b ca                	mov    %edx,%ecx
401de8:	89 75 d4             	mov    %esi,-0x2c(%ebp)
401deb:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
401df2:	8b 38                	mov    (%eax),%edi
401df4:	8b 58 04             	mov    0x4(%eax),%ebx
401df7:	8d 41 01             	lea    0x1(%ecx),%eax
401dfa:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
401e01:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
401e08:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
401e0c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
401e0f:	90                   	nop
401e10:	8a 01                	mov    (%ecx),%al
401e12:	41                   	inc    %ecx
401e13:	84 c0                	test   %al,%al
401e15:	75 f9                	jne    0x401e10
401e17:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
401e1a:	51                   	push   %ecx
401e1b:	52                   	push   %edx
401e1c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401e1f:	e8 9c 19 00 00       	call   0x4037c0
401e24:	8d 45 d8             	lea    -0x28(%ebp),%eax
401e27:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401e2e:	50                   	push   %eax
401e2f:	53                   	push   %ebx
401e30:	57                   	push   %edi
401e31:	8b ce                	mov    %esi,%ecx
401e33:	e8 78 f6 ff ff       	call   0x4014b0
401e38:	8b 55 ec             	mov    -0x14(%ebp),%edx
401e3b:	83 fa 10             	cmp    $0x10,%edx
401e3e:	72 28                	jb     0x401e68
401e40:	8b 4d d8             	mov    -0x28(%ebp),%ecx
401e43:	42                   	inc    %edx
401e44:	8b c1                	mov    %ecx,%eax
401e46:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
401e4c:	72 10                	jb     0x401e5e
401e4e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
401e51:	83 c2 23             	add    $0x23,%edx
401e54:	2b c1                	sub    %ecx,%eax
401e56:	83 c0 fc             	add    $0xfffffffc,%eax
401e59:	83 f8 1f             	cmp    $0x1f,%eax
401e5c:	77 30                	ja     0x401e8e
401e5e:	52                   	push   %edx
401e5f:	51                   	push   %ecx
401e60:	e8 e7 57 00 00       	call   0x40764c
401e65:	83 c4 08             	add    $0x8,%esp
401e68:	c7 06 b8 43 42 00    	movl   $0x4243b8,(%esi)
401e6e:	8b c6                	mov    %esi,%eax
401e70:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401e73:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401e7a:	59                   	pop    %ecx
401e7b:	5f                   	pop    %edi
401e7c:	5e                   	pop    %esi
401e7d:	5b                   	pop    %ebx
401e7e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401e81:	33 cd                	xor    %ebp,%ecx
401e83:	e8 84 55 00 00       	call   0x40740c
401e88:	8b e5                	mov    %ebp,%esp
401e8a:	5d                   	pop    %ebp
401e8b:	c2 08 00             	ret    $0x8
401e8e:	e8 fe b1 00 00       	call   0x40d091
401e93:	cc                   	int3
401e94:	cc                   	int3
401e95:	cc                   	int3
401e96:	cc                   	int3
401e97:	cc                   	int3
401e98:	cc                   	int3