431dba:	79 07                	jns    0x431dc3
431dbc:	33 c0                	xor    %eax,%eax
431dbe:	66 89 07             	mov    %ax,(%edi)
431dc1:	eb 10                	jmp    0x431dd3
431dc3:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
431dc9:	3b c3                	cmp    %ebx,%eax
431dcb:	74 50                	je     0x431e1d
431dcd:	33 c9                	xor    %ecx,%ecx
431dcf:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
431dd3:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
431dd9:	e8 62 04 00 00       	call   0x432240
431dde:	80 bd 88 fb ff ff 00 	cmpb   $0x0,-0x478(%ebp)
431de5:	74 0d                	je     0x431df4
431de7:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
431ded:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
431df4:	5f                   	pop    %edi
431df5:	8b c6                	mov    %esi,%eax
431df7:	5e                   	pop    %esi
431df8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
431dfb:	33 cd                	xor    %ebp,%ecx
431dfd:	5b                   	pop    %ebx
431dfe:	e8 33 c0 ff ff       	call   0x42de36
431e03:	8b e5                	mov    %ebp,%esp
431e05:	5d                   	pop    %ebp
431e06:	c3                   	ret
431e07:	85 db                	test   %ebx,%ebx
431e09:	75 05                	jne    0x431e10
431e0b:	83 ce ff             	or     $0xffffffff,%esi
431e0e:	eb c3                	jmp    0x431dd3
431e10:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
431e16:	3b c3                	cmp    %ebx,%eax
431e18:	75 b3                	jne    0x431dcd
431e1a:	6a fe                	push   $0xfffffffe
431e1c:	5e                   	pop    %esi
431e1d:	33 c0                	xor    %eax,%eax
431e1f:	66 89 44 5f fe       	mov    %ax,-0x2(%edi,%ebx,2)
431e24:	eb ad                	jmp    0x431dd3
431e26:	83 b9 04 04 00 00 00 	cmpl   $0x0,0x404(%ecx)
431e2d:	75 06                	jne    0x431e35
431e2f:	b8 00 02 00 00       	mov    $0x200,%eax
431e34:	c3                   	ret
431e35:	8b 81 00 04 00 00    	mov    0x400(%ecx),%eax
431e3b:	d1 e8                	shr    $1,%eax
431e3d:	c3                   	ret
431e3e:	8b ff                	mov    %edi,%edi
431e40:	55                   	push   %ebp
431e41:	8b ec                	mov    %esp,%ebp
431e43:	51                   	push   %ecx
431e44:	83 c8 ff             	or     $0xffffffff,%eax
431e47:	33 d2                	xor    %edx,%edx
431e49:	56                   	push   %esi
431e4a:	8b 75 08             	mov    0x8(%ebp),%esi
431e4d:	f7 f6                	div    %esi
431e4f:	57                   	push   %edi
431e50:	83 e0 fe             	and    $0xfffffffe,%eax
431e53:	8b f9                	mov    %ecx,%edi
431e55:	83 f8 02             	cmp    $0x2,%eax
431e58:	73 0f                	jae    0x431e69
431e5a:	e8 d7 1f 00 00       	call   0x433e36
431e5f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
431e65:	32 c0                	xor    %al,%al
431e67:	eb 53                	jmp    0x431ebc
431e69:	53                   	push   %ebx
431e6a:	33 db                	xor    %ebx,%ebx
431e6c:	03 f6                	add    %esi,%esi
431e6e:	39 9f 04 04 00 00    	cmp    %ebx,0x404(%edi)
431e74:	75 08                	jne    0x431e7e
431e76:	81 fe 00 04 00 00    	cmp    $0x400,%esi
431e7c:	76 08                	jbe    0x431e86
431e7e:	3b b7 00 04 00 00    	cmp    0x400(%edi),%esi
431e84:	77 04                	ja     0x431e8a
431e86:	b0 01                	mov    $0x1,%al
431e88:	eb 31                	jmp    0x431ebb
431e8a:	56                   	push   %esi
431e8b:	e8 c4 32 00 00       	call   0x435154
431e90:	89 45 fc             	mov    %eax,-0x4(%ebp)
431e93:	59                   	pop    %ecx
431e94:	85 c0                	test   %eax,%eax
431e96:	74 1a                	je     0x431eb2
431e98:	8d 45 fc             	lea    -0x4(%ebp),%eax
431e9b:	50                   	push   %eax
431e9c:	8d 8f 04 04 00 00    	lea    0x404(%edi),%ecx
431ea2:	e8 b3 03 00 00       	call   0x43225a
431ea7:	8b 45 fc             	mov    -0x4(%ebp),%eax
431eaa:	b3 01                	mov    $0x1,%bl
431eac:	89 b7 00 04 00 00    	mov    %esi,0x400(%edi)
431eb2:	50                   	push   %eax
431eb3:	e8 62 32 00 00       	call   0x43511a
431eb8:	59                   	pop    %ecx
431eb9:	8a c3                	mov    %bl,%al
431ebb:	5b                   	pop    %ebx
431ebc:	5f                   	pop    %edi
431ebd:	5e                   	pop    %esi
431ebe:	8b e5                	mov    %ebp,%esp
431ec0:	5d                   	pop    %ebp
431ec1:	c2 04 00             	ret    $0x4
431ec4:	8b ff                	mov    %edi,%edi
431ec6:	55                   	push   %ebp
431ec7:	8b ec                	mov    %esp,%ebp
431ec9:	8b 45 14             	mov    0x14(%ebp),%eax
431ecc:	48                   	dec    %eax
431ecd:	83 e8 01             	sub    $0x1,%eax
431ed0:	74 2e                	je     0x431f00
431ed2:	83 e8 01             	sub    $0x1,%eax
431ed5:	74 25                	je     0x431efc
431ed7:	83 e8 09             	sub    $0x9,%eax
431eda:	74 20                	je     0x431efc
431edc:	83 7d 14 0d          	cmpl   $0xd,0x14(%ebp)
431ee0:	74 1e                	je     0x431f00
431ee2:	8a 45 10             	mov    0x10(%ebp),%al
431ee5:	3c 63                	cmp    $0x63,%al
431ee7:	74 08                	je     0x431ef1
431ee9:	3c 73                	cmp    $0x73,%al
431eeb:	74 04                	je     0x431ef1
431eed:	32 c9                	xor    %cl,%cl
431eef:	eb 02                	jmp    0x431ef3
431ef1:	b1 01                	mov    $0x1,%cl
431ef3:	33 c0                	xor    %eax,%eax
431ef5:	84 c9                	test   %cl,%cl
431ef7:	0f 94 c0             	sete   %al
431efa:	5d                   	pop    %ebp
431efb:	c3                   	ret
431efc:	b0 01                	mov    $0x1,%al
431efe:	5d                   	pop    %ebp
431eff:	c3                   	ret
431f00:	32 c0                	xor    %al,%al
431f02:	5d                   	pop    %ebp
431f03:	c3                   	ret
431f04:	8b ff                	mov    %edi,%edi
431f06:	55                   	push   %ebp
431f07:	8b ec                	mov    %esp,%ebp
431f09:	8b 45 14             	mov    0x14(%ebp),%eax
431f0c:	48                   	dec    %eax
431f0d:	83 e8 01             	sub    $0x1,%eax
431f10:	74 3d                	je     0x431f4f
431f12:	83 e8 01             	sub    $0x1,%eax
431f15:	74 34                	je     0x431f4b
431f17:	83 e8 09             	sub    $0x9,%eax
431f1a:	74 2f                	je     0x431f4b
431f1c:	83 7d 14 0d          	cmpl   $0xd,0x14(%ebp)
431f20:	74 29                	je     0x431f4b
431f22:	8b 45 08             	mov    0x8(%ebp),%eax
431f25:	33 c9                	xor    %ecx,%ecx
431f27:	83 e0 04             	and    $0x4,%eax
431f2a:	b2 01                	mov    $0x1,%dl
431f2c:	0b c1                	or     %ecx,%eax
431f2e:	75 02                	jne    0x431f32
431f30:	8a d1                	mov    %cl,%dl
431f32:	66 83 7d 10 63       	cmpw   $0x63,0x10(%ebp)
431f37:	74 07                	je     0x431f40
431f39:	66 83 7d 10 73       	cmpw   $0x73,0x10(%ebp)
431f3e:	75 02                	jne    0x431f42
431f40:	b1 01                	mov    $0x1,%cl
431f42:	33 c0                	xor    %eax,%eax
431f44:	3a d1                	cmp    %cl,%dl
431f46:	0f 94 c0             	sete   %al
431f49:	5d                   	pop    %ebp
431f4a:	c3                   	ret
431f4b:	b0 01                	mov    $0x1,%al
431f4d:	5d                   	pop    %ebp
431f4e:	c3                   	ret
431f4f:	32 c0                	xor    %al,%al
431f51:	5d                   	pop    %ebp
431f52:	c3                   	ret
431f53:	8b ff                	mov    %edi,%edi
431f55:	56                   	push   %esi
431f56:	8b f1                	mov    %ecx,%esi
431f58:	57                   	push   %edi
431f59:	8b be 04 04 00 00    	mov    0x404(%esi),%edi
431f5f:	e8 c2 fe ff ff       	call   0x431e26
431f64:	85 ff                	test   %edi,%edi
431f66:	75 04                	jne    0x431f6c
431f68:	03 c6                	add    %esi,%eax
431f6a:	eb 02                	jmp    0x431f6e
431f6c:	03 c7                	add    %edi,%eax
431f6e:	5f                   	pop    %edi
431f6f:	5e                   	pop    %esi
431f70:	c3                   	ret
431f71:	8b ff                	mov    %edi,%edi
431f73:	55                   	push   %ebp
431f74:	8b ec                	mov    %esp,%ebp
431f76:	53                   	push   %ebx
431f77:	56                   	push   %esi
431f78:	8b f1                	mov    %ecx,%esi
431f7a:	57                   	push   %edi
431f7b:	8d 4e 40             	lea    0x40(%esi),%ecx
431f7e:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
431f84:	85 ff                	test   %edi,%edi
431f86:	75 02                	jne    0x431f8a
431f88:	8b f9                	mov    %ecx,%edi
431f8a:	e8 97 fe ff ff       	call   0x431e26
431f8f:	8b 5d 08             	mov    0x8(%ebp),%ebx
431f92:	48                   	dec    %eax
431f93:	03 f8                	add    %eax,%edi
431f95:	89 7e 34             	mov    %edi,0x34(%esi)
431f98:	8b 4e 28             	mov    0x28(%esi),%ecx
431f9b:	85 c9                	test   %ecx,%ecx
431f9d:	7f 04                	jg     0x431fa3
431f9f:	85 db                	test   %ebx,%ebx
431fa1:	74 30                	je     0x431fd3
431fa3:	33 d2                	xor    %edx,%edx
431fa5:	8b c3                	mov    %ebx,%eax
431fa7:	f7 75 0c             	divl   0xc(%ebp)
431faa:	49                   	dec    %ecx
431fab:	80 c2 30             	add    $0x30,%dl
431fae:	89 4e 28             	mov    %ecx,0x28(%esi)
431fb1:	8b d8                	mov    %eax,%ebx
431fb3:	80 fa 39             	cmp    $0x39,%dl
431fb6:	7e 11                	jle    0x431fc9
431fb8:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
431fbc:	0f 94 c0             	sete   %al
431fbf:	fe c8                	dec    %al
431fc1:	24 e0                	and    $0xe0,%al
431fc3:	04 61                	add    $0x61,%al
431fc5:	2c 3a                	sub    $0x3a,%al
431fc7:	02 d0                	add    %al,%dl
431fc9:	8b 46 34             	mov    0x34(%esi),%eax
431fcc:	88 10                	mov    %dl,(%eax)
431fce:	ff 4e 34             	decl   0x34(%esi)
431fd1:	eb c5                	jmp    0x431f98
431fd3:	8b 46 34             	mov    0x34(%esi),%eax
431fd6:	2b f8                	sub    %eax,%edi
431fd8:	89 7e 38             	mov    %edi,0x38(%esi)
431fdb:	40                   	inc    %eax
431fdc:	5f                   	pop    %edi
431fdd:	89 46 34             	mov    %eax,0x34(%esi)
431fe0:	5e                   	pop    %esi
431fe1:	5b                   	pop    %ebx
431fe2:	5d                   	pop    %ebp
431fe3:	c2 0c 00             	ret    $0xc
431fe6:	8b ff                	mov    %edi,%edi
431fe8:	55                   	push   %ebp
431fe9:	8b ec                	mov    %esp,%ebp
431feb:	51                   	push   %ecx
431fec:	51                   	push   %ecx
431fed:	53                   	push   %ebx
431fee:	56                   	push   %esi
431fef:	8b f1                	mov    %ecx,%esi
431ff1:	57                   	push   %edi
431ff2:	8d 4e 40             	lea    0x40(%esi),%ecx
431ff5:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
431ffb:	85 ff                	test   %edi,%edi
431ffd:	75 02                	jne    0x432001
431fff:	8b f9                	mov    %ecx,%edi
432001:	e8 20 fe ff ff       	call   0x431e26
432006:	8b 55 0c             	mov    0xc(%ebp),%edx
432009:	48                   	dec    %eax
43200a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43200d:	03 f8                	add    %eax,%edi
43200f:	89 7e 34             	mov    %edi,0x34(%esi)
432012:	8b 4e 28             	mov    0x28(%esi),%ecx
432015:	85 c9                	test   %ecx,%ecx
432017:	7f 06                	jg     0x43201f
432019:	8b c3                	mov    %ebx,%eax
43201b:	0b c2                	or     %edx,%eax
43201d:	74 3a                	je     0x432059
43201f:	6a 00                	push   $0x0
432021:	ff 75 10             	push   0x10(%ebp)
432024:	8d 41 ff             	lea    -0x1(%ecx),%eax
432027:	52                   	push   %edx
432028:	53                   	push   %ebx
432029:	89 46 28             	mov    %eax,0x28(%esi)
43202c:	e8 bf 7b 01 00       	call   0x449bf0
432031:	80 c1 30             	add    $0x30,%cl
432034:	89 5d fc             	mov    %ebx,-0x4(%ebp)
432037:	8b d8                	mov    %eax,%ebx
432039:	80 f9 39             	cmp    $0x39,%cl
43203c:	7e 11                	jle    0x43204f
43203e:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
432042:	0f 94 c0             	sete   %al
432045:	fe c8                	dec    %al
432047:	24 e0                	and    $0xe0,%al
432049:	04 61                	add    $0x61,%al
43204b:	2c 3a                	sub    $0x3a,%al
43204d:	02 c8                	add    %al,%cl
43204f:	8b 46 34             	mov    0x34(%esi),%eax
432052:	88 08                	mov    %cl,(%eax)
432054:	ff 4e 34             	decl   0x34(%esi)
432057:	eb b9                	jmp    0x432012
432059:	8b 46 34             	mov    0x34(%esi),%eax
43205c:	2b f8                	sub    %eax,%edi
43205e:	89 7e 38             	mov    %edi,0x38(%esi)
432061:	40                   	inc    %eax
432062:	5f                   	pop    %edi
432063:	89 46 34             	mov    %eax,0x34(%esi)
432066:	5e                   	pop    %esi
432067:	5b                   	pop    %ebx
432068:	8b e5                	mov    %ebp,%esp
43206a:	5d                   	pop    %ebp
43206b:	c2 10 00             	ret    $0x10
43206e:	8b ff                	mov    %edi,%edi
432070:	55                   	push   %ebp
432071:	8b ec                	mov    %esp,%ebp
432073:	56                   	push   %esi
432074:	33 f6                	xor    %esi,%esi
432076:	39 75 10             	cmp    %esi,0x10(%ebp)
432079:	7e 1c                	jle    0x432097
43207b:	57                   	push   %edi
43207c:	8b 7d 14             	mov    0x14(%ebp),%edi
43207f:	8b 4d 08             	mov    0x8(%ebp),%ecx
432082:	57                   	push   %edi
432083:	ff 75 0c             	push   0xc(%ebp)
432086:	e8 c6 17 00 00       	call   0x433851
43208b:	83 3f ff             	cmpl   $0xffffffff,(%edi)
43208e:	74 06                	je     0x432096
432090:	46                   	inc    %esi
432091:	3b 75 10             	cmp    0x10(%ebp),%esi
432094:	7c e9                	jl     0x43207f
432096:	5f                   	pop    %edi
432097:	5e                   	pop    %esi
432098:	5d                   	pop    %ebp
432099:	c3                   	ret
43209a:	8b ff                	mov    %edi,%edi
43209c:	55                   	push   %ebp
43209d:	8b ec                	mov    %esp,%ebp
43209f:	56                   	push   %esi
4320a0:	33 f6                	xor    %esi,%esi
4320a2:	39 75 10             	cmp    %esi,0x10(%ebp)
4320a5:	7e 21                	jle    0x4320c8
4320a7:	53                   	push   %ebx
4320a8:	66 0f be 5d 0c       	movsbw 0xc(%ebp),%bx
4320ad:	57                   	push   %edi
4320ae:	8b 7d 14             	mov    0x14(%ebp),%edi
4320b1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4320b4:	57                   	push   %edi
4320b5:	53                   	push   %ebx
4320b6:	e8 d8 17 00 00       	call   0x433893
4320bb:	83 3f ff             	cmpl   $0xffffffff,(%edi)
4320be:	74 06                	je     0x4320c6
4320c0:	46                   	inc    %esi
4320c1:	3b 75 10             	cmp    0x10(%ebp),%esi
4320c4:	7c eb                	jl     0x4320b1
4320c6:	5f                   	pop    %edi
4320c7:	5b                   	pop    %ebx
4320c8:	5e                   	pop    %esi
4320c9:	5d                   	pop    %ebp
4320ca:	c3                   	ret
4320cb:	8b ff                	mov    %edi,%edi
4320cd:	55                   	push   %ebp
4320ce:	8b ec                	mov    %esp,%ebp
4320d0:	51                   	push   %ecx
4320d1:	33 c0                	xor    %eax,%eax
4320d3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4320d6:	89 01                	mov    %eax,(%ecx)
4320d8:	89 41 04             	mov    %eax,0x4(%ecx)
4320db:	89 41 08             	mov    %eax,0x8(%ecx)
4320de:	89 41 0c             	mov    %eax,0xc(%ecx)
4320e1:	89 41 10             	mov    %eax,0x10(%ecx)
4320e4:	89 41 14             	mov    %eax,0x14(%ecx)
4320e7:	89 41 18             	mov    %eax,0x18(%ecx)