452df9:	57                   	push   %edi
452dfa:	84 d2                	test   %dl,%dl
452dfc:	74 08                	je     0x452e06
452dfe:	83 c4 f0             	add    $0xfffffff0,%esp
452e01:	e8 32 09 fb ff       	call   0x403738
452e06:	8b f1                	mov    %ecx,%esi
452e08:	8b da                	mov    %edx,%ebx
452e0a:	8b f8                	mov    %eax,%edi
452e0c:	33 d2                	xor    %edx,%edx
452e0e:	8b c7                	mov    %edi,%eax
452e10:	e8 a7 05 fb ff       	call   0x4033bc
452e15:	89 77 04             	mov    %esi,0x4(%edi)
452e18:	8a 45 08             	mov    0x8(%ebp),%al
452e1b:	88 47 18             	mov    %al,0x18(%edi)
452e1e:	66 b9 50 00          	mov    $0x50,%cx
452e22:	66 89 4f 0a          	mov    %cx,0xa(%edi)
452e26:	0f b7 c1             	movzwl %cx,%eax
452e29:	b9 0a 00 00 00       	mov    $0xa,%ecx
452e2e:	33 d2                	xor    %edx,%edx
452e30:	f7 f1                	div    %ecx
452e32:	66 89 47 08          	mov    %ax,0x8(%edi)
452e36:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
452e3a:	c7 47 20 0a 00 00 00 	movl   $0xa,0x20(%edi)
452e41:	c7 47 40 04 00 00 00 	movl   $0x4,0x40(%edi)
452e48:	c7 47 3c 0c 00 00 00 	movl   $0xc,0x3c(%edi)
452e4f:	c7 47 28 14 00 00 ff 	movl   $0xff000014,0x28(%edi)
452e56:	c6 47 2c 01          	movb   $0x1,0x2c(%edi)
452e5a:	c6 47 44 01          	movb   $0x1,0x44(%edi)
452e5e:	8b c7                	mov    %edi,%eax
452e60:	84 db                	test   %bl,%bl
452e62:	74 0f                	je     0x452e73
452e64:	e8 27 09 fb ff       	call   0x403790
452e69:	64 8f 05 00 00 00 00 	pop    %fs:0x0
452e70:	83 c4 0c             	add    $0xc,%esp
452e73:	8b c7                	mov    %edi,%eax
452e75:	5f                   	pop    %edi
452e76:	5e                   	pop    %esi
452e77:	5b                   	pop    %ebx
452e78:	5d                   	pop    %ebp
452e79:	c2 04 00             	ret    $0x4
452e7c:	8a 40 1f             	mov    0x1f(%eax),%al
452e7f:	34 01                	xor    $0x1,%al
452e81:	c3                   	ret
452e82:	8b c0                	mov    %eax,%eax
452e84:	53                   	push   %ebx
452e85:	56                   	push   %esi
452e86:	57                   	push   %edi
452e87:	8b f2                	mov    %edx,%esi
452e89:	8b d8                	mov    %eax,%ebx
452e8b:	8b c6                	mov    %esi,%eax
452e8d:	8b 15 78 0b 45 00    	mov    0x450b78,%edx
452e93:	e8 e0 06 fb ff       	call   0x403578
452e98:	84 c0                	test   %al,%al
452e9a:	74 2a                	je     0x452ec6
452e9c:	8b fe                	mov    %esi,%edi
452e9e:	8a 57 1c             	mov    0x1c(%edi),%dl
452ea1:	8b c3                	mov    %ebx,%eax
452ea3:	e8 a4 08 00 00       	call   0x45374c
452ea8:	8b 57 10             	mov    0x10(%edi),%edx
452eab:	8b c3                	mov    %ebx,%eax
452ead:	e8 7a 08 00 00       	call   0x45372c
452eb2:	8b 57 0c             	mov    0xc(%edi),%edx
452eb5:	8b c3                	mov    %ebx,%eax
452eb7:	e8 20 07 00 00       	call   0x4535dc
452ebc:	66 8b 47 08          	mov    0x8(%edi),%ax
452ec0:	66 89 43 08          	mov    %ax,0x8(%ebx)
452ec4:	eb 09                	jmp    0x452ecf
452ec6:	8b d6                	mov    %esi,%edx
452ec8:	8b c3                	mov    %ebx,%eax
452eca:	e8 35 95 fc ff       	call   0x41c404
452ecf:	5f                   	pop    %edi
452ed0:	5e                   	pop    %esi
452ed1:	5b                   	pop    %ebx
452ed2:	c3                   	ret
452ed3:	90                   	nop
452ed4:	53                   	push   %ebx
452ed5:	8b d8                	mov    %eax,%ebx
452ed7:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
452edb:	75 2c                	jne    0x452f09
452edd:	8b c3                	mov    %ebx,%eax
452edf:	e8 a8 01 00 00       	call   0x45308c
452ee4:	84 c0                	test   %al,%al
452ee6:	74 21                	je     0x452f09
452ee8:	8b 43 04             	mov    0x4(%ebx),%eax
452eeb:	e8 70 97 fe ff       	call   0x43c660
452ef0:	84 c0                	test   %al,%al
452ef2:	75 0b                	jne    0x452eff
452ef4:	33 d2                	xor    %edx,%edx
452ef6:	8b c3                	mov    %ebx,%eax
452ef8:	e8 df 06 00 00       	call   0x4535dc
452efd:	eb 0a                	jmp    0x452f09
452eff:	8b 53 10             	mov    0x10(%ebx),%edx
452f02:	8b c3                	mov    %ebx,%eax
452f04:	e8 d3 06 00 00       	call   0x4535dc
452f09:	5b                   	pop    %ebx
452f0a:	c3                   	ret
452f0b:	90                   	nop
452f0c:	55                   	push   %ebp
452f0d:	8b ec                	mov    %esp,%ebp
452f0f:	53                   	push   %ebx
452f10:	8b d8                	mov    %eax,%ebx
452f12:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
452f16:	74 54                	je     0x452f6c
452f18:	8a 43 5b             	mov    0x5b(%ebx),%al
452f1b:	2c 01                	sub    $0x1,%al
452f1d:	72 0a                	jb     0x452f29
452f1f:	2c 02                	sub    $0x2,%al
452f21:	74 06                	je     0x452f29
452f23:	fe c8                	dec    %al
452f25:	74 3c                	je     0x452f63
452f27:	eb 43                	jmp    0x452f6c
452f29:	80 7b 5b 03          	cmpb   $0x3,0x5b(%ebx)
452f2d:	74 12                	je     0x452f41
452f2f:	a0 70 2f 45 00       	mov    0x452f70,%al
452f34:	22 43 61             	and    0x61(%ebx),%al
452f37:	8a 15 74 2f 45 00    	mov    0x452f74,%dl
452f3d:	3a d0                	cmp    %al,%dl
452f3f:	75 2b                	jne    0x452f6c
452f41:	8b 45 08             	mov    0x8(%ebp),%eax
452f44:	8b 40 f8             	mov    -0x8(%eax),%eax
452f47:	8b 50 0c             	mov    0xc(%eax),%edx
452f4a:	03 53 40             	add    0x40(%ebx),%edx
452f4d:	03 53 48             	add    0x48(%ebx),%edx
452f50:	8b 45 08             	mov    0x8(%ebp),%eax
452f53:	8b 40 fc             	mov    -0x4(%eax),%eax
452f56:	e8 85 9c fd ff       	call   0x42cbe0
452f5b:	8b 55 08             	mov    0x8(%ebp),%edx
452f5e:	89 42 fc             	mov    %eax,-0x4(%edx)
452f61:	eb 09                	jmp    0x452f6c
452f63:	8b 45 08             	mov    0x8(%ebp),%eax
452f66:	8b 53 48             	mov    0x48(%ebx),%edx
452f69:	01 50 f4             	add    %edx,-0xc(%eax)
452f6c:	5b                   	pop    %ebx
452f6d:	5d                   	pop    %ebp
452f6e:	c3                   	ret
452f6f:	00 05 00 00 00 01    	add    %al,0x1000000
452f75:	00 00                	add    %al,(%eax)
452f77:	00 55 8b             	add    %dl,-0x75(%ebp)
452f7a:	ec                   	in     (%dx),%al
452f7b:	53                   	push   %ebx
452f7c:	8b d8                	mov    %eax,%ebx
452f7e:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
452f82:	74 4e                	je     0x452fd2
452f84:	8a 43 5b             	mov    0x5b(%ebx),%al
452f87:	2c 02                	sub    $0x2,%al
452f89:	72 04                	jb     0x452f8f
452f8b:	74 3c                	je     0x452fc9
452f8d:	eb 43                	jmp    0x452fd2
452f8f:	80 7b 5b 01          	cmpb   $0x1,0x5b(%ebx)
452f93:	74 12                	je     0x452fa7
452f95:	a0 d8 2f 45 00       	mov    0x452fd8,%al
452f9a:	22 43 61             	and    0x61(%ebx),%al
452f9d:	8a 15 dc 2f 45 00    	mov    0x452fdc,%dl
452fa3:	3a d0                	cmp    %al,%dl
452fa5:	75 2b                	jne    0x452fd2
452fa7:	8b 45 08             	mov    0x8(%ebp),%eax
452faa:	8b 40 f8             	mov    -0x8(%eax),%eax
452fad:	8b 50 0c             	mov    0xc(%eax),%edx
452fb0:	03 53 44             	add    0x44(%ebx),%edx
452fb3:	03 53 4c             	add    0x4c(%ebx),%edx
452fb6:	8b 45 08             	mov    0x8(%ebp),%eax
452fb9:	8b 40 fc             	mov    -0x4(%eax),%eax
452fbc:	e8 1f 9c fd ff       	call   0x42cbe0
452fc1:	8b 55 08             	mov    0x8(%ebp),%edx
452fc4:	89 42 fc             	mov    %eax,-0x4(%edx)
452fc7:	eb 09                	jmp    0x452fd2
452fc9:	8b 45 08             	mov    0x8(%ebp),%eax
452fcc:	8b 53 4c             	mov    0x4c(%ebx),%edx
452fcf:	01 50 f4             	add    %edx,-0xc(%eax)
452fd2:	5b                   	pop    %ebx
452fd3:	5d                   	pop    %ebp
452fd4:	c3                   	ret
452fd5:	00 00                	add    %al,(%eax)
452fd7:	00 0a                	add    %cl,(%edx)
452fd9:	00 00                	add    %al,(%eax)
452fdb:	00 02                	add    %al,(%edx)
452fdd:	00 00                	add    %al,(%eax)
452fdf:	00 55 8b             	add    %dl,-0x75(%ebp)
452fe2:	ec                   	in     (%dx),%al
452fe3:	83 c4 f4             	add    $0xfffffff4,%esp
452fe6:	53                   	push   %ebx
452fe7:	56                   	push   %esi
452fe8:	89 45 f8             	mov    %eax,-0x8(%ebp)
452feb:	8b 45 f8             	mov    -0x8(%ebp),%eax
452fee:	8b 58 04             	mov    0x4(%eax),%ebx
452ff1:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
452ff8:	0f 84 87 00 00 00    	je     0x453085
452ffe:	8b c3                	mov    %ebx,%eax
453000:	8b 10                	mov    (%eax),%edx
453002:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
453008:	84 c0                	test   %al,%al
45300a:	74 6f                	je     0x45307b
45300c:	33 c0                	xor    %eax,%eax
45300e:	89 45 fc             	mov    %eax,-0x4(%ebp)
453011:	33 c0                	xor    %eax,%eax
453013:	89 45 f4             	mov    %eax,-0xc(%ebp)
453016:	8b 45 f8             	mov    -0x8(%ebp),%eax
453019:	8b 40 04             	mov    0x4(%eax),%eax
45301c:	e8 e3 c4 fe ff       	call   0x43f504
453021:	8b d8                	mov    %eax,%ebx
453023:	4b                   	dec    %ebx
453024:	85 db                	test   %ebx,%ebx
453026:	7c 3a                	jl     0x453062
453028:	43                   	inc    %ebx
453029:	33 f6                	xor    %esi,%esi
45302b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45302e:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
453032:	75 16                	jne    0x45304a
453034:	55                   	push   %ebp
453035:	8b 45 f8             	mov    -0x8(%ebp),%eax
453038:	8b 40 04             	mov    0x4(%eax),%eax
45303b:	8b d6                	mov    %esi,%edx
45303d:	e8 86 c4 fe ff       	call   0x43f4c8
453042:	e8 c5 fe ff ff       	call   0x452f0c
453047:	59                   	pop    %ecx
453048:	eb 14                	jmp    0x45305e
45304a:	55                   	push   %ebp
45304b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45304e:	8b 40 04             	mov    0x4(%eax),%eax
453051:	8b d6                	mov    %esi,%edx
453053:	e8 70 c4 fe ff       	call   0x43f4c8
453058:	e8 1b ff ff ff       	call   0x452f78
45305d:	59                   	pop    %ecx
45305e:	46                   	inc    %esi
45305f:	4b                   	dec    %ebx
453060:	75 c9                	jne    0x45302b
453062:	8b 55 fc             	mov    -0x4(%ebp),%edx
453065:	03 55 f4             	add    -0xc(%ebp),%edx
453068:	8b 45 f8             	mov    -0x8(%ebp),%eax
45306b:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
45306f:	03 d0                	add    %eax,%edx
453071:	8b 45 f8             	mov    -0x8(%ebp),%eax
453074:	e8 9b 06 00 00       	call   0x453714
453079:	eb 0a                	jmp    0x453085
45307b:	33 d2                	xor    %edx,%edx
45307d:	8b 45 f8             	mov    -0x8(%ebp),%eax
453080:	e8 8f 06 00 00       	call   0x453714
453085:	5e                   	pop    %esi
453086:	5b                   	pop    %ebx
453087:	8b e5                	mov    %ebp,%esp
453089:	5d                   	pop    %ebp
45308a:	c3                   	ret
45308b:	90                   	nop
45308c:	53                   	push   %ebx
45308d:	56                   	push   %esi
45308e:	8b d8                	mov    %eax,%ebx
453090:	be 00 00 10 00       	mov    $0x100000,%esi
453095:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
453099:	75 05                	jne    0x4530a0
45309b:	be 00 00 20 00       	mov    $0x200000,%esi
4530a0:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
4530a4:	74 14                	je     0x4530ba
4530a6:	6a f0                	push   $0xfffffff0
4530a8:	8b 43 04             	mov    0x4(%ebx),%eax
4530ab:	e8 b8 f6 fe ff       	call   0x442768
4530b0:	50                   	push   %eax
4530b1:	e8 1a 3d fb ff       	call   0x406dd0
4530b6:	85 f0                	test   %esi,%eax
4530b8:	75 05                	jne    0x4530bf
4530ba:	33 c0                	xor    %eax,%eax
4530bc:	5e                   	pop    %esi
4530bd:	5b                   	pop    %ebx
4530be:	c3                   	ret
4530bf:	b0 01                	mov    $0x1,%al
4530c1:	5e                   	pop    %esi
4530c2:	5b                   	pop    %ebx
4530c3:	c3                   	ret
4530c4:	55                   	push   %ebp
4530c5:	8b ec                	mov    %esp,%ebp
4530c7:	53                   	push   %ebx
4530c8:	bb 00 00 10 00       	mov    $0x100000,%ebx
4530cd:	66 83 f8 01          	cmp    $0x1,%ax
4530d1:	75 05                	jne    0x4530d8
4530d3:	bb 00 00 20 00       	mov    $0x200000,%ebx
4530d8:	6a f0                	push   $0xfffffff0
4530da:	8b 45 08             	mov    0x8(%ebp),%eax
4530dd:	8b 40 fc             	mov    -0x4(%eax),%eax
4530e0:	8b 40 04             	mov    0x4(%eax),%eax
4530e3:	e8 80 f6 fe ff       	call   0x442768
4530e8:	50                   	push   %eax
4530e9:	e8 e2 3c fb ff       	call   0x406dd0
4530ee:	85 d8                	test   %ebx,%eax
4530f0:	0f 95 c0             	setne  %al
4530f3:	5b                   	pop    %ebx
4530f4:	5d                   	pop    %ebp
4530f5:	c3                   	ret
4530f6:	8b c0                	mov    %eax,%eax
4530f8:	55                   	push   %ebp
4530f9:	8b ec                	mov    %esp,%ebp
4530fb:	53                   	push   %ebx
4530fc:	56                   	push   %esi
4530fd:	57                   	push   %edi
4530fe:	8b fa                	mov    %edx,%edi
453100:	8b f0                	mov    %eax,%esi
453102:	33 db                	xor    %ebx,%ebx
453104:	8b 45 08             	mov    0x8(%ebp),%eax
453107:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
45310b:	75 60                	jne    0x45316d
45310d:	8b 45 08             	mov    0x8(%ebp),%eax
453110:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
453114:	74 29                	je     0x45313f
453116:	8b 45 08             	mov    0x8(%ebp),%eax
453119:	50                   	push   %eax
45311a:	8b c6                	mov    %esi,%eax
45311c:	e8 a3 ff ff ff       	call   0x4530c4
453121:	59                   	pop    %ecx
453122:	84 c0                	test   %al,%al
453124:	75 19                	jne    0x45313f
453126:	0f b7 c7             	movzwl %di,%eax
453129:	50                   	push   %eax
45312a:	a1 fc b0 49 00       	mov    0x49b0fc,%eax
45312f:	8b 00                	mov    (%eax),%eax
453131:	ff d0                	call   *%eax
453133:	8b d8                	mov    %eax,%ebx
453135:	8b 45 08             	mov    0x8(%ebp),%eax
453138:	2b 58 f4             	sub    -0xc(%eax),%ebx
45313b:	f7 db                	neg    %ebx
45313d:	eb 2e                	jmp    0x45316d
45313f:	8b 45 08             	mov    0x8(%ebp),%eax
453142:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
453146:	75 25                	jne    0x45316d
453148:	8b 45 08             	mov    0x8(%ebp),%eax
45314b:	50                   	push   %eax
45314c:	8b c6                	mov    %esi,%eax
45314e:	e8 71 ff ff ff       	call   0x4530c4
453153:	59                   	pop    %ecx
453154:	84 c0                	test   %al,%al
453156:	74 15                	je     0x45316d
453158:	0f b7 c7             	movzwl %di,%eax
45315b:	50                   	push   %eax
45315c:	a1 fc b0 49 00       	mov    0x49b0fc,%eax
453161:	8b 00                	mov    (%eax),%eax
453163:	ff d0                	call   *%eax
453165:	8b d8                	mov    %eax,%ebx
453167:	8b 45 08             	mov    0x8(%ebp),%eax
45316a:	2b 58 f4             	sub    -0xc(%eax),%ebx
45316d:	8b c3                	mov    %ebx,%eax
45316f:	5f                   	pop    %edi
453170:	5e                   	pop    %esi
453171:	5b                   	pop    %ebx
453172:	5d                   	pop    %ebp
453173:	c3                   	ret
453174:	55                   	push   %ebp
453175:	8b ec                	mov    %esp,%ebp
453177:	83 c4 f4             	add    $0xfffffff4,%esp
45317a:	53                   	push   %ebx
45317b:	88 4d fa             	mov    %cl,-0x6(%ebp)
45317e:	88 55 fb             	mov    %dl,-0x5(%ebp)
453181:	89 45 fc             	mov    %eax,-0x4(%ebp)
453184:	6a f0                	push   $0xfffffff0