412ddf:	89 73 0c             	mov    %esi,0xc(%ebx)
412de2:	8b c6                	mov    %esi,%eax
412de4:	8b d7                	mov    %edi,%edx
412de6:	e8 8d 10 00 00       	call   0x413e78
412deb:	8b c3                	mov    %ebx,%eax
412ded:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
412df1:	74 0f                	je     0x412e02
412df3:	e8 7c 0d ff ff       	call   0x403b74
412df8:	64 8f 05 00 00 00 00 	pop    %fs:0x0
412dff:	83 c4 0c             	add    $0xc,%esp
412e02:	8b c3                	mov    %ebx,%eax
412e04:	5f                   	pop    %edi
412e05:	5e                   	pop    %esi
412e06:	5b                   	pop    %ebx
412e07:	59                   	pop    %ecx
412e08:	5d                   	pop    %ebp
412e09:	c3                   	ret
412e0a:	8b c0                	mov    %eax,%eax
412e0c:	53                   	push   %ebx
412e0d:	56                   	push   %esi
412e0e:	e8 71 0d ff ff       	call   0x403b84
412e13:	8b da                	mov    %edx,%ebx
412e15:	8b f0                	mov    %eax,%esi
412e17:	8b d3                	mov    %ebx,%edx
412e19:	80 e2 fc             	and    $0xfc,%dl
412e1c:	8b c6                	mov    %esi,%eax
412e1e:	e8 c9 09 ff ff       	call   0x4037ec
412e23:	8b 46 04             	mov    0x4(%esi),%eax
412e26:	e8 d1 09 ff ff       	call   0x4037fc
412e2b:	8b 46 08             	mov    0x8(%esi),%eax
412e2e:	e8 c9 09 ff ff       	call   0x4037fc
412e33:	8b 46 0c             	mov    0xc(%esi),%eax
412e36:	e8 c1 09 ff ff       	call   0x4037fc
412e3b:	84 db                	test   %bl,%bl
412e3d:	7e 07                	jle    0x412e46
412e3f:	8b c6                	mov    %esi,%eax
412e41:	e8 26 0d ff ff       	call   0x403b6c
412e46:	5e                   	pop    %esi
412e47:	5b                   	pop    %ebx
412e48:	c3                   	ret
412e49:	8d 40 00             	lea    0x0(%eax),%eax
412e4c:	53                   	push   %ebx
412e4d:	56                   	push   %esi
412e4e:	57                   	push   %edi
412e4f:	55                   	push   %ebp
412e50:	51                   	push   %ecx
412e51:	89 14 24             	mov    %edx,(%esp)
412e54:	8b e8                	mov    %eax,%ebp
412e56:	8b 45 04             	mov    0x4(%ebp),%eax
412e59:	8b 70 08             	mov    0x8(%eax),%esi
412e5c:	4e                   	dec    %esi
412e5d:	85 f6                	test   %esi,%esi
412e5f:	7c 21                	jl     0x412e82
412e61:	46                   	inc    %esi
412e62:	33 db                	xor    %ebx,%ebx
412e64:	8b 45 04             	mov    0x4(%ebp),%eax
412e67:	8b d3                	mov    %ebx,%edx
412e69:	e8 7a 11 00 00       	call   0x413fe8
412e6e:	8b f8                	mov    %eax,%edi
412e70:	8b 14 24             	mov    (%esp),%edx
412e73:	8b c7                	mov    %edi,%eax
412e75:	e8 e6 08 ff ff       	call   0x403760
412e7a:	84 c0                	test   %al,%al
412e7c:	75 25                	jne    0x412ea3
412e7e:	43                   	inc    %ebx
412e7f:	4e                   	dec    %esi
412e80:	75 e2                	jne    0x412e64
412e82:	8b 45 08             	mov    0x8(%ebp),%eax
412e85:	8b 14 24             	mov    (%esp),%edx
412e88:	8b 08                	mov    (%eax),%ecx
412e8a:	ff 51 54             	call   *0x54(%ecx)
412e8d:	8b d8                	mov    %eax,%ebx
412e8f:	85 db                	test   %ebx,%ebx
412e91:	7c 0e                	jl     0x412ea1
412e93:	8b 45 08             	mov    0x8(%ebp),%eax
412e96:	8b d3                	mov    %ebx,%edx
412e98:	8b 08                	mov    (%eax),%ecx
412e9a:	ff 51 18             	call   *0x18(%ecx)
412e9d:	8b f8                	mov    %eax,%edi
412e9f:	eb 02                	jmp    0x412ea3
412ea1:	33 ff                	xor    %edi,%edi
412ea3:	8b c7                	mov    %edi,%eax
412ea5:	5a                   	pop    %edx
412ea6:	5d                   	pop    %ebp
412ea7:	5f                   	pop    %edi
412ea8:	5e                   	pop    %esi
412ea9:	5b                   	pop    %ebx
412eaa:	c3                   	ret
412eab:	90                   	nop
412eac:	53                   	push   %ebx
412ead:	56                   	push   %esi
412eae:	57                   	push   %edi
412eaf:	55                   	push   %ebp
412eb0:	51                   	push   %ecx
412eb1:	8b ea                	mov    %edx,%ebp
412eb3:	8b f8                	mov    %eax,%edi
412eb5:	c6 04 24 01          	movb   $0x1,(%esp)
412eb9:	8b 47 0c             	mov    0xc(%edi),%eax
412ebc:	8b 58 08             	mov    0x8(%eax),%ebx
412ebf:	4b                   	dec    %ebx
412ec0:	85 db                	test   %ebx,%ebx
412ec2:	7c 1e                	jl     0x412ee2
412ec4:	43                   	inc    %ebx
412ec5:	33 f6                	xor    %esi,%esi
412ec7:	8b 47 0c             	mov    0xc(%edi),%eax
412eca:	8b d6                	mov    %esi,%edx
412ecc:	e8 17 11 00 00       	call   0x413fe8
412ed1:	8b d0                	mov    %eax,%edx
412ed3:	8b c5                	mov    %ebp,%eax
412ed5:	e8 42 0b ff ff       	call   0x403a1c
412eda:	84 c0                	test   %al,%al
412edc:	75 08                	jne    0x412ee6
412ede:	46                   	inc    %esi
412edf:	4b                   	dec    %ebx
412ee0:	75 e5                	jne    0x412ec7
412ee2:	c6 04 24 00          	movb   $0x0,(%esp)
412ee6:	8a 04 24             	mov    (%esp),%al
412ee9:	5a                   	pop    %edx
412eea:	5d                   	pop    %ebp
412eeb:	5f                   	pop    %edi
412eec:	5e                   	pop    %esi
412eed:	5b                   	pop    %ebx
412eee:	c3                   	ret
412eef:	90                   	nop
412ef0:	55                   	push   %ebp
412ef1:	8b ec                	mov    %esp,%ebp
412ef3:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
412ef9:	53                   	push   %ebx
412efa:	56                   	push   %esi
412efb:	33 c9                	xor    %ecx,%ecx
412efd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412f00:	8b f2                	mov    %edx,%esi
412f02:	8b d8                	mov    %eax,%ebx
412f04:	33 c0                	xor    %eax,%eax
412f06:	55                   	push   %ebp
412f07:	68 8b 2f 41 00       	push   $0x412f8b
412f0c:	64 ff 30             	push   %fs:(%eax)
412f0f:	64 89 20             	mov    %esp,%fs:(%eax)
412f12:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412f18:	8b c6                	mov    %esi,%eax
412f1a:	e8 2d 08 ff ff       	call   0x40374c
412f1f:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412f25:	8d 45 fc             	lea    -0x4(%ebp),%eax
412f28:	e8 a7 18 ff ff       	call   0x4047d4
412f2d:	8b 55 fc             	mov    -0x4(%ebp),%edx
412f30:	8b c3                	mov    %ebx,%eax
412f32:	e8 15 ff ff ff       	call   0x412e4c
412f37:	85 c0                	test   %eax,%eax
412f39:	74 30                	je     0x412f6b
412f3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
412f3e:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
412f44:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
412f4b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
412f51:	50                   	push   %eax
412f52:	6a 00                	push   $0x0
412f54:	8b 0d 1c 0c 46 00    	mov    0x460c1c,%ecx
412f5a:	b2 01                	mov    $0x1,%dl
412f5c:	a1 84 18 41 00       	mov    0x411884,%eax
412f61:	e8 a6 8b ff ff       	call   0x40bb0c
412f66:	e8 19 10 ff ff       	call   0x403f84
412f6b:	8b d6                	mov    %esi,%edx
412f6d:	8b 43 04             	mov    0x4(%ebx),%eax
412f70:	e8 03 0f 00 00       	call   0x413e78
412f75:	33 c0                	xor    %eax,%eax
412f77:	5a                   	pop    %edx
412f78:	59                   	pop    %ecx
412f79:	59                   	pop    %ecx
412f7a:	64 89 10             	mov    %edx,%fs:(%eax)
412f7d:	68 92 2f 41 00       	push   $0x412f92
412f82:	8d 45 fc             	lea    -0x4(%ebp),%eax
412f85:	e8 e6 15 ff ff       	call   0x404570
412f8a:	c3                   	ret
412f8b:	e9 bc 0f ff ff       	jmp    0x403f4c
412f90:	eb f0                	jmp    0x412f82
412f92:	5e                   	pop    %esi
412f93:	5b                   	pop    %ebx
412f94:	8b e5                	mov    %ebp,%esp
412f96:	5d                   	pop    %ebp
412f97:	c3                   	ret
412f98:	53                   	push   %ebx
412f99:	56                   	push   %esi
412f9a:	8b f2                	mov    %edx,%esi
412f9c:	8b d8                	mov    %eax,%ebx
412f9e:	8b d6                	mov    %esi,%edx
412fa0:	8b 43 04             	mov    0x4(%ebx),%eax
412fa3:	e8 a4 10 00 00       	call   0x41404c
412fa8:	85 c0                	test   %eax,%eax
412faa:	0f 9d c0             	setge  %al
412fad:	5e                   	pop    %esi
412fae:	5b                   	pop    %ebx
412faf:	c3                   	ret
412fb0:	53                   	push   %ebx
412fb1:	56                   	push   %esi
412fb2:	8b da                	mov    %edx,%ebx
412fb4:	8b f0                	mov    %eax,%esi
412fb6:	85 db                	test   %ebx,%ebx
412fb8:	74 10                	je     0x412fca
412fba:	8b c6                	mov    %esi,%eax
412fbc:	e8 c7 25 ff ff       	call   0x405588
412fc1:	3b d8                	cmp    %eax,%ebx
412fc3:	74 05                	je     0x412fca
412fc5:	33 c0                	xor    %eax,%eax
412fc7:	5e                   	pop    %esi
412fc8:	5b                   	pop    %ebx
412fc9:	c3                   	ret
412fca:	b0 01                	mov    $0x1,%al
412fcc:	5e                   	pop    %esi
412fcd:	5b                   	pop    %ebx
412fce:	c3                   	ret
412fcf:	90                   	nop
412fd0:	53                   	push   %ebx
412fd1:	56                   	push   %esi
412fd2:	57                   	push   %edi
412fd3:	8b fa                	mov    %edx,%edi
412fd5:	8b f0                	mov    %eax,%esi
412fd7:	8b 46 0c             	mov    0xc(%esi),%eax
412fda:	8b 58 08             	mov    0x8(%eax),%ebx
412fdd:	4b                   	dec    %ebx
412fde:	83 fb 00             	cmp    $0x0,%ebx
412fe1:	7c 25                	jl     0x413008
412fe3:	8b d3                	mov    %ebx,%edx
412fe5:	8b 46 0c             	mov    0xc(%esi),%eax
412fe8:	e8 fb 0f 00 00       	call   0x413fe8
412fed:	8b d7                	mov    %edi,%edx
412fef:	e8 bc ff ff ff       	call   0x412fb0
412ff4:	84 c0                	test   %al,%al
412ff6:	74 0a                	je     0x413002
412ff8:	8b d3                	mov    %ebx,%edx
412ffa:	8b 46 0c             	mov    0xc(%esi),%eax
412ffd:	e8 c2 0e 00 00       	call   0x413ec4
413002:	4b                   	dec    %ebx
413003:	83 fb ff             	cmp    $0xffffffff,%ebx
413006:	75 db                	jne    0x412fe3
413008:	8b 46 04             	mov    0x4(%esi),%eax
41300b:	8b 58 08             	mov    0x8(%eax),%ebx
41300e:	4b                   	dec    %ebx
41300f:	83 fb 00             	cmp    $0x0,%ebx
413012:	7c 25                	jl     0x413039
413014:	8b d3                	mov    %ebx,%edx
413016:	8b 46 04             	mov    0x4(%esi),%eax
413019:	e8 ca 0f 00 00       	call   0x413fe8
41301e:	8b d7                	mov    %edi,%edx
413020:	e8 8b ff ff ff       	call   0x412fb0
413025:	84 c0                	test   %al,%al
413027:	74 0a                	je     0x413033
413029:	8b d3                	mov    %ebx,%edx
41302b:	8b 46 04             	mov    0x4(%esi),%eax
41302e:	e8 91 0e 00 00       	call   0x413ec4
413033:	4b                   	dec    %ebx
413034:	83 fb ff             	cmp    $0xffffffff,%ebx
413037:	75 db                	jne    0x413014
413039:	8b 46 08             	mov    0x8(%esi),%eax
41303c:	8b 10                	mov    (%eax),%edx
41303e:	ff 52 14             	call   *0x14(%edx)
413041:	8b d8                	mov    %eax,%ebx
413043:	4b                   	dec    %ebx
413044:	83 fb 00             	cmp    $0x0,%ebx
413047:	7c 25                	jl     0x41306e
413049:	8b d3                	mov    %ebx,%edx
41304b:	8b 46 08             	mov    0x8(%esi),%eax
41304e:	8b 08                	mov    (%eax),%ecx
413050:	ff 51 18             	call   *0x18(%ecx)
413053:	8b d7                	mov    %edi,%edx
413055:	e8 56 ff ff ff       	call   0x412fb0
41305a:	84 c0                	test   %al,%al
41305c:	74 0a                	je     0x413068
41305e:	8b d3                	mov    %ebx,%edx
413060:	8b 46 08             	mov    0x8(%esi),%eax
413063:	8b 08                	mov    (%eax),%ecx
413065:	ff 51 48             	call   *0x48(%ecx)
413068:	4b                   	dec    %ebx
413069:	83 fb ff             	cmp    $0xffffffff,%ebx
41306c:	75 db                	jne    0x413049
41306e:	5f                   	pop    %edi
41306f:	5e                   	pop    %esi
413070:	5b                   	pop    %ebx
413071:	c3                   	ret
413072:	8b c0                	mov    %eax,%eax
413074:	53                   	push   %ebx
413075:	56                   	push   %esi
413076:	57                   	push   %edi
413077:	55                   	push   %ebp
413078:	51                   	push   %ecx
413079:	89 14 24             	mov    %edx,(%esp)
41307c:	8b f8                	mov    %eax,%edi
41307e:	8b 47 20             	mov    0x20(%edi),%eax
413081:	3b 04 24             	cmp    (%esp),%eax
413084:	74 31                	je     0x4130b7
413086:	8b 04 24             	mov    (%esp),%eax
413089:	89 47 20             	mov    %eax,0x20(%edi)
41308c:	8b 47 04             	mov    0x4(%edi),%eax
41308f:	8b 70 08             	mov    0x8(%eax),%esi
413092:	4e                   	dec    %esi
413093:	85 f6                	test   %esi,%esi
413095:	7c 20                	jl     0x4130b7
413097:	46                   	inc    %esi
413098:	33 ed                	xor    %ebp,%ebp
41309a:	8b 47 04             	mov    0x4(%edi),%eax
41309d:	8b d5                	mov    %ebp,%edx
41309f:	e8 44 0f 00 00       	call   0x413fe8
4130a4:	8b d8                	mov    %eax,%ebx
4130a6:	8b 14 24             	mov    (%esp),%edx
4130a9:	8b c3                	mov    %ebx,%eax
4130ab:	e8 fc fd ff ff       	call   0x412eac
4130b0:	88 43 10             	mov    %al,0x10(%ebx)
4130b3:	45                   	inc    %ebp
4130b4:	4e                   	dec    %esi
4130b5:	75 e3                	jne    0x41309a
4130b7:	5a                   	pop    %edx
4130b8:	5d                   	pop    %ebp
4130b9:	5f                   	pop    %edi
4130ba:	5e                   	pop    %esi
4130bb:	5b                   	pop    %ebx
4130bc:	c3                   	ret
4130bd:	8d 40 00             	lea    0x0(%eax),%eax
4130c0:	53                   	push   %ebx
4130c1:	56                   	push   %esi
4130c2:	57                   	push   %edi
4130c3:	84 d2                	test   %dl,%dl
4130c5:	74 08                	je     0x4130cf
4130c7:	83 c4 f0             	add    $0xfffffff0,%esp
4130ca:	e8 4d 0a ff ff       	call   0x403b1c
4130cf:	8b da                	mov    %edx,%ebx
4130d1:	8b f8                	mov    %eax,%edi
4130d3:	33 d2                	xor    %edx,%edx
4130d5:	8b c7                	mov    %edi,%eax
4130d7:	e8 f0 06 ff ff       	call   0x4037cc
4130dc:	b2 01                	mov    $0x1,%dl
4130de:	a1 6c 1c 41 00       	mov    0x411c6c,%eax
4130e3:	e8 e4 06 ff ff       	call   0x4037cc
4130e8:	89 47 04             	mov    %eax,0x4(%edi)
4130eb:	8d 47 08             	lea    0x8(%edi),%eax
4130ee:	50                   	push   %eax
4130ef:	e8 58 36 ff ff       	call   0x40674c
4130f4:	8b 0d 7c 1d 41 00    	mov    0x411d7c,%ecx
4130fa:	b2 01                	mov    $0x1,%dl
4130fc:	a1 04 2c 41 00       	mov    0x412c04,%eax
413101:	e8 8a fc ff ff       	call   0x412d90
413106:	8b f0                	mov    %eax,%esi
413108:	8b 47 04             	mov    0x4(%edi),%eax
41310b:	8b d6                	mov    %esi,%edx
41310d:	e8 66 0d 00 00       	call   0x413e78
413112:	c6 46 10 01          	movb   $0x1,0x10(%esi)
413116:	8b c7                	mov    %edi,%eax
413118:	84 db                	test   %bl,%bl
41311a:	74 0f                	je     0x41312b
41311c:	e8 53 0a ff ff       	call   0x403b74
413121:	64 8f 05 00 00 00 00 	pop    %fs:0x0
413128:	83 c4 0c             	add    $0xc,%esp
41312b:	8b c7                	mov    %edi,%eax