432d77:	83 d2 00             	adc    $0x0,%edx
432d7a:	89 16                	mov    %edx,(%esi)
432d7c:	2b 45 d8             	sub    -0x28(%ebp),%eax
432d7f:	40                   	inc    %eax
432d80:	d1 f8                	sar    $1,%eax
432d82:	79 03                	jns    0x432d87
432d84:	83 d0 00             	adc    $0x0,%eax
432d87:	89 45 f0             	mov    %eax,-0x10(%ebp)
432d8a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
432d8e:	74 06                	je     0x432d96
432d90:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
432d94:	75 05                	jne    0x432d9b
432d96:	33 c0                	xor    %eax,%eax
432d98:	89 45 14             	mov    %eax,0x14(%ebp)
432d9b:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
432d9f:	0f 85 97 00 00 00    	jne    0x432e3c
432da5:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
432da9:	75 4a                	jne    0x432df5
432dab:	8d 4d d0             	lea    -0x30(%ebp),%ecx
432dae:	8b 55 e4             	mov    -0x1c(%ebp),%edx
432db1:	03 55 dc             	add    -0x24(%ebp),%edx
432db4:	8b 45 e0             	mov    -0x20(%ebp),%eax
432db7:	03 45 d8             	add    -0x28(%ebp),%eax
432dba:	e8 cd 79 fe ff       	call   0x41a78c
432dbf:	8a 45 1c             	mov    0x1c(%ebp),%al
432dc2:	2c 02                	sub    $0x2,%al
432dc4:	73 13                	jae    0x432dd9
432dc6:	8b 45 e8             	mov    -0x18(%ebp),%eax
432dc9:	2b 45 d0             	sub    -0x30(%ebp),%eax
432dcc:	b9 03 00 00 00       	mov    $0x3,%ecx
432dd1:	99                   	cltd
432dd2:	f7 f9                	idiv   %ecx
432dd4:	89 45 18             	mov    %eax,0x18(%ebp)
432dd7:	eb 11                	jmp    0x432dea
432dd9:	8b 45 ec             	mov    -0x14(%ebp),%eax
432ddc:	2b 45 d4             	sub    -0x2c(%ebp),%eax
432ddf:	b9 03 00 00 00       	mov    $0x3,%ecx
432de4:	99                   	cltd
432de5:	f7 f9                	idiv   %ecx
432de7:	89 45 18             	mov    %eax,0x18(%ebp)
432dea:	8b 45 18             	mov    0x18(%ebp),%eax
432ded:	89 45 14             	mov    %eax,0x14(%ebp)
432df0:	e9 96 00 00 00       	jmp    0x432e8b
432df5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
432df8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
432dfb:	03 55 14             	add    0x14(%ebp),%edx
432dfe:	03 55 dc             	add    -0x24(%ebp),%edx
432e01:	8b 45 e0             	mov    -0x20(%ebp),%eax
432e04:	03 45 14             	add    0x14(%ebp),%eax
432e07:	03 45 d8             	add    -0x28(%ebp),%eax
432e0a:	e8 7d 79 fe ff       	call   0x41a78c
432e0f:	8a 45 1c             	mov    0x1c(%ebp),%al
432e12:	2c 02                	sub    $0x2,%al
432e14:	73 13                	jae    0x432e29
432e16:	8b 45 e8             	mov    -0x18(%ebp),%eax
432e19:	2b 45 d0             	sub    -0x30(%ebp),%eax
432e1c:	40                   	inc    %eax
432e1d:	d1 f8                	sar    $1,%eax
432e1f:	79 03                	jns    0x432e24
432e21:	83 d0 00             	adc    $0x0,%eax
432e24:	89 45 18             	mov    %eax,0x18(%ebp)
432e27:	eb 62                	jmp    0x432e8b
432e29:	8b 45 ec             	mov    -0x14(%ebp),%eax
432e2c:	2b 45 d4             	sub    -0x2c(%ebp),%eax
432e2f:	40                   	inc    %eax
432e30:	d1 f8                	sar    $1,%eax
432e32:	79 03                	jns    0x432e37
432e34:	83 d0 00             	adc    $0x0,%eax
432e37:	89 45 18             	mov    %eax,0x18(%ebp)
432e3a:	eb 4f                	jmp    0x432e8b
432e3c:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
432e40:	75 49                	jne    0x432e8b
432e42:	8b 45 18             	mov    0x18(%ebp),%eax
432e45:	03 45 e4             	add    -0x1c(%ebp),%eax
432e48:	8b 55 ec             	mov    -0x14(%ebp),%edx
432e4b:	2b d0                	sub    %eax,%edx
432e4d:	8b 45 18             	mov    0x18(%ebp),%eax
432e50:	03 45 e0             	add    -0x20(%ebp),%eax
432e53:	50                   	push   %eax
432e54:	8b 45 e8             	mov    -0x18(%ebp),%eax
432e57:	59                   	pop    %ecx
432e58:	2b c1                	sub    %ecx,%eax
432e5a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
432e5d:	e8 2a 79 fe ff       	call   0x41a78c
432e62:	8a 45 1c             	mov    0x1c(%ebp),%al
432e65:	2c 02                	sub    $0x2,%al
432e67:	73 12                	jae    0x432e7b
432e69:	8b 45 d0             	mov    -0x30(%ebp),%eax
432e6c:	2b 45 d8             	sub    -0x28(%ebp),%eax
432e6f:	d1 f8                	sar    $1,%eax
432e71:	79 03                	jns    0x432e76
432e73:	83 d0 00             	adc    $0x0,%eax
432e76:	89 45 14             	mov    %eax,0x14(%ebp)
432e79:	eb 10                	jmp    0x432e8b
432e7b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
432e7e:	2b 45 dc             	sub    -0x24(%ebp),%eax
432e81:	d1 f8                	sar    $1,%eax
432e83:	79 03                	jns    0x432e88
432e85:	83 d0 00             	adc    $0x0,%eax
432e88:	89 45 14             	mov    %eax,0x14(%ebp)
432e8b:	8a 45 1c             	mov    0x1c(%ebp),%al
432e8e:	2c 01                	sub    $0x1,%al
432e90:	72 0c                	jb     0x432e9e
432e92:	74 1a                	je     0x432eae
432e94:	fe c8                	dec    %al
432e96:	74 2c                	je     0x432ec4
432e98:	fe c8                	dec    %al
432e9a:	74 39                	je     0x432ed5
432e9c:	eb 4c                	jmp    0x432eea
432e9e:	8b 45 18             	mov    0x18(%ebp),%eax
432ea1:	89 06                	mov    %eax,(%esi)
432ea3:	03 45 e0             	add    -0x20(%ebp),%eax
432ea6:	03 45 14             	add    0x14(%ebp),%eax
432ea9:	89 45 f0             	mov    %eax,-0x10(%ebp)
432eac:	eb 3c                	jmp    0x432eea
432eae:	8b 45 e8             	mov    -0x18(%ebp),%eax
432eb1:	2b 45 18             	sub    0x18(%ebp),%eax
432eb4:	2b 45 e0             	sub    -0x20(%ebp),%eax
432eb7:	89 06                	mov    %eax,(%esi)
432eb9:	2b 45 14             	sub    0x14(%ebp),%eax
432ebc:	2b 45 d8             	sub    -0x28(%ebp),%eax
432ebf:	89 45 f0             	mov    %eax,-0x10(%ebp)
432ec2:	eb 26                	jmp    0x432eea
432ec4:	8b 45 18             	mov    0x18(%ebp),%eax
432ec7:	89 46 04             	mov    %eax,0x4(%esi)
432eca:	03 45 e4             	add    -0x1c(%ebp),%eax
432ecd:	03 45 14             	add    0x14(%ebp),%eax
432ed0:	89 45 f4             	mov    %eax,-0xc(%ebp)
432ed3:	eb 15                	jmp    0x432eea
432ed5:	8b 45 ec             	mov    -0x14(%ebp),%eax
432ed8:	2b 45 18             	sub    0x18(%ebp),%eax
432edb:	2b 45 e4             	sub    -0x1c(%ebp),%eax
432ede:	89 46 04             	mov    %eax,0x4(%esi)
432ee1:	2b 45 14             	sub    0x14(%ebp),%eax
432ee4:	2b 45 dc             	sub    -0x24(%ebp),%eax
432ee7:	89 45 f4             	mov    %eax,-0xc(%ebp)
432eea:	8b 03                	mov    (%ebx),%eax
432eec:	8b 55 24             	mov    0x24(%ebp),%edx
432eef:	03 02                	add    (%edx),%eax
432ef1:	01 06                	add    %eax,(%esi)
432ef3:	8b 43 04             	mov    0x4(%ebx),%eax
432ef6:	8b 55 24             	mov    0x24(%ebp),%edx
432ef9:	03 42 04             	add    0x4(%edx),%eax
432efc:	01 46 04             	add    %eax,0x4(%esi)
432eff:	e8 90 15 00 00       	call   0x434494
432f04:	e8 6b 16 00 00       	call   0x434574
432f09:	84 c0                	test   %al,%al
432f0b:	74 15                	je     0x432f22
432f0d:	8b 43 04             	mov    0x4(%ebx),%eax
432f10:	03 45 f4             	add    -0xc(%ebp),%eax
432f13:	50                   	push   %eax
432f14:	8b 03                	mov    (%ebx),%eax
432f16:	03 45 f0             	add    -0x10(%ebp),%eax
432f19:	50                   	push   %eax
432f1a:	57                   	push   %edi
432f1b:	e8 a8 3f fd ff       	call   0x406ec8
432f20:	eb 1e                	jmp    0x432f40
432f22:	8b 43 04             	mov    0x4(%ebx),%eax
432f25:	03 45 f4             	add    -0xc(%ebp),%eax
432f28:	8b 55 24             	mov    0x24(%ebp),%edx
432f2b:	03 42 04             	add    0x4(%edx),%eax
432f2e:	50                   	push   %eax
432f2f:	8b 03                	mov    (%ebx),%eax
432f31:	03 45 f0             	add    -0x10(%ebp),%eax
432f34:	8b 55 24             	mov    0x24(%ebp),%edx
432f37:	03 02                	add    (%edx),%eax
432f39:	50                   	push   %eax
432f3a:	57                   	push   %edi
432f3b:	e8 88 3f fd ff       	call   0x406ec8
432f40:	5f                   	pop    %edi
432f41:	5e                   	pop    %esi
432f42:	5b                   	pop    %ebx
432f43:	8b e5                	mov    %ebp,%esp
432f45:	5d                   	pop    %ebp
432f46:	c2 20 00             	ret    $0x20
432f49:	8d 40 00             	lea    0x0(%eax),%eax
432f4c:	55                   	push   %ebp
432f4d:	8b ec                	mov    %esp,%ebp
432f4f:	83 c4 f4             	add    $0xfffffff4,%esp
432f52:	53                   	push   %ebx
432f53:	56                   	push   %esi
432f54:	57                   	push   %edi
432f55:	89 4d fc             	mov    %ecx,-0x4(%ebp)
432f58:	8b f2                	mov    %edx,%esi
432f5a:	8b d8                	mov    %eax,%ebx
432f5c:	8b 7d 24             	mov    0x24(%ebp),%edi
432f5f:	8b 45 28             	mov    0x28(%ebp),%eax
432f62:	50                   	push   %eax
432f63:	57                   	push   %edi
432f64:	8a 45 20             	mov    0x20(%ebp),%al
432f67:	50                   	push   %eax
432f68:	8b 45 1c             	mov    0x1c(%ebp),%eax
432f6b:	50                   	push   %eax
432f6c:	8b 45 18             	mov    0x18(%ebp),%eax
432f6f:	50                   	push   %eax
432f70:	8d 45 f4             	lea    -0xc(%ebp),%eax
432f73:	50                   	push   %eax
432f74:	8b 45 08             	mov    0x8(%ebp),%eax
432f77:	50                   	push   %eax
432f78:	8b 45 0c             	mov    0xc(%ebp),%eax
432f7b:	50                   	push   %eax
432f7c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
432f7f:	8b d6                	mov    %esi,%edx
432f81:	8b c3                	mov    %ebx,%eax
432f83:	e8 98 fc ff ff       	call   0x432c20
432f88:	8a 45 14             	mov    0x14(%ebp),%al
432f8b:	50                   	push   %eax
432f8c:	8a 45 10             	mov    0x10(%ebp),%al
432f8f:	50                   	push   %eax
432f90:	8d 4d f4             	lea    -0xc(%ebp),%ecx
432f93:	8b d6                	mov    %esi,%edx
432f95:	8b c3                	mov    %ebx,%eax
432f97:	e8 40 fa ff ff       	call   0x4329dc
432f9c:	8b 45 08             	mov    0x8(%ebp),%eax
432f9f:	50                   	push   %eax
432fa0:	8a 45 14             	mov    0x14(%ebp),%al
432fa3:	50                   	push   %eax
432fa4:	8b 45 0c             	mov    0xc(%ebp),%eax
432fa7:	50                   	push   %eax
432fa8:	8b cf                	mov    %edi,%ecx
432faa:	8b d6                	mov    %esi,%edx
432fac:	8b c3                	mov    %ebx,%eax
432fae:	e8 8d fb ff ff       	call   0x432b40
432fb3:	5f                   	pop    %edi
432fb4:	5e                   	pop    %esi
432fb5:	5b                   	pop    %ebx
432fb6:	8b e5                	mov    %ebp,%esp
432fb8:	5d                   	pop    %ebp
432fb9:	c2 24 00             	ret    $0x24
432fbc:	53                   	push   %ebx
432fbd:	56                   	push   %esi
432fbe:	8b f2                	mov    %edx,%esi
432fc0:	8b d8                	mov    %eax,%ebx
432fc2:	8b d6                	mov    %esi,%edx
432fc4:	8b c3                	mov    %ebx,%eax
432fc6:	e8 81 7d 00 00       	call   0x43ad4c
432fcb:	8b c6                	mov    %esi,%eax
432fcd:	8b 15 0c 19 43 00    	mov    0x43190c,%edx
432fd3:	e8 c4 05 fd ff       	call   0x40359c
432fd8:	89 43 20             	mov    %eax,0x20(%ebx)
432fdb:	5e                   	pop    %esi
432fdc:	5b                   	pop    %ebx
432fdd:	c3                   	ret
432fde:	8b c0                	mov    %eax,%eax
432fe0:	53                   	push   %ebx
432fe1:	8b d8                	mov    %eax,%ebx
432fe3:	8b c3                	mov    %ebx,%eax
432fe5:	e8 2e 51 01 00       	call   0x448118
432fea:	84 c0                	test   %al,%al
432fec:	74 34                	je     0x433022
432fee:	8b 43 20             	mov    0x20(%ebx),%eax
432ff1:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
432ff8:	74 28                	je     0x433022
432ffa:	8b 43 20             	mov    0x20(%ebx),%eax
432ffd:	80 b8 72 01 00 00 00 	cmpb   $0x0,0x172(%eax)
433004:	74 1c                	je     0x433022
433006:	8b 43 10             	mov    0x10(%ebx),%eax
433009:	8b 15 c8 79 44 00    	mov    0x4479c8,%edx
43300f:	e8 88 05 fd ff       	call   0x40359c
433014:	8a 40 69             	mov    0x69(%eax),%al
433017:	8b 53 20             	mov    0x20(%ebx),%edx
43301a:	3a 82 70 01 00 00    	cmp    0x170(%edx),%al
433020:	74 04                	je     0x433026
433022:	33 c0                	xor    %eax,%eax
433024:	5b                   	pop    %ebx
433025:	c3                   	ret
433026:	b0 01                	mov    $0x1,%al
433028:	5b                   	pop    %ebx
433029:	c3                   	ret
43302a:	8b c0                	mov    %eax,%eax
43302c:	53                   	push   %ebx
43302d:	56                   	push   %esi
43302e:	8b d8                	mov    %eax,%ebx
433030:	8b 73 20             	mov    0x20(%ebx),%esi
433033:	85 f6                	test   %esi,%esi
433035:	74 19                	je     0x433050
433037:	8b 43 10             	mov    0x10(%ebx),%eax
43303a:	8b 15 c8 79 44 00    	mov    0x4479c8,%edx
433040:	e8 57 05 fd ff       	call   0x40359c
433045:	8b 40 6c             	mov    0x6c(%eax),%eax
433048:	3b 86 68 01 00 00    	cmp    0x168(%esi),%eax
43304e:	74 05                	je     0x433055
433050:	33 c0                	xor    %eax,%eax
433052:	5e                   	pop    %esi
433053:	5b                   	pop    %ebx
433054:	c3                   	ret
433055:	b0 01                	mov    $0x1,%al
433057:	5e                   	pop    %esi
433058:	5b                   	pop    %ebx
433059:	c3                   	ret
43305a:	8b c0                	mov    %eax,%eax
43305c:	53                   	push   %ebx
43305d:	56                   	push   %esi
43305e:	8b da                	mov    %edx,%ebx
433060:	8b f0                	mov    %eax,%esi
433062:	8b c6                	mov    %esi,%eax
433064:	8b 10                	mov    (%eax),%edx
433066:	ff 52 24             	call   *0x24(%edx)
433069:	84 c0                	test   %al,%al
43306b:	74 0a                	je     0x433077
43306d:	8b d3                	mov    %ebx,%edx
43306f:	8b 46 20             	mov    0x20(%esi),%eax
433072:	e8 95 08 00 00       	call   0x43390c
433077:	5e                   	pop    %esi
433078:	5b                   	pop    %ebx
433079:	c3                   	ret
43307a:	8b c0                	mov    %eax,%eax
43307c:	53                   	push   %ebx
43307d:	56                   	push   %esi
43307e:	8b f2                	mov    %edx,%esi
433080:	8b d8                	mov    %eax,%ebx
433082:	8b c3                	mov    %ebx,%eax
433084:	8b 10                	mov    (%eax),%edx
433086:	ff 52 2c             	call   *0x2c(%edx)
433089:	84 c0                	test   %al,%al
43308b:	74 0a                	je     0x433097
43308d:	8b d6                	mov    %esi,%edx
43308f:	8b 43 20             	mov    0x20(%ebx),%eax
433092:	e8 01 09 00 00       	call   0x433998
433097:	5e                   	pop    %esi
433098:	5b                   	pop    %ebx
433099:	c3                   	ret
43309a:	8b c0                	mov    %eax,%eax
43309c:	55                   	push   %ebp
43309d:	8b ec                	mov    %esp,%ebp
43309f:	51                   	push   %ecx
4330a0:	53                   	push   %ebx
4330a1:	56                   	push   %esi
4330a2:	84 d2                	test   %dl,%dl
4330a4:	74 08                	je     0x4330ae
4330a6:	83 c4 f0             	add    $0xfffffff0,%esp
4330a9:	e8 8a 06 fd ff       	call   0x403738
4330ae:	8b f1                	mov    %ecx,%esi
4330b0:	88 55 ff             	mov    %dl,-0x1(%ebp)
4330b3:	8b d8                	mov    %eax,%ebx
4330b5:	b2 01                	mov    $0x1,%dl
4330b7:	a1 74 1f 43 00       	mov    0x431f74,%eax
4330bc:	e8 3f f1 ff ff       	call   0x432200
4330c1:	89 83 6c 01 00 00    	mov    %eax,0x16c(%ebx)
4330c7:	8b 83 6c 01 00 00    	mov    0x16c(%ebx),%eax
4330cd:	89 58 2c             	mov    %ebx,0x2c(%eax)
4330d0:	c7 40 28 cc 38 43 00 	movl   $0x4338cc,0x28(%eax)
4330d7:	8b ce                	mov    %esi,%ecx
4330d9:	33 d2                	xor    %edx,%edx
4330db:	8b c3                	mov    %ebx,%eax
4330dd:	e8 32 07 01 00       	call   0x443814
4330e2:	6a 17                	push   $0x17
4330e4:	6a 16                	push   $0x16
4330e6:	33 c9                	xor    %ecx,%ecx
4330e8:	33 d2                	xor    %edx,%edx