431afe:	8b f0                	mov    %eax,%esi
431b00:	89 37                	mov    %esi,(%edi)
431b02:	f6 c3 01             	test   $0x1,%bl
431b05:	74 08                	je     0x431b0f
431b07:	8d 4d b8             	lea    -0x48(%ebp),%ecx
431b0a:	e8 a4 d4 fd ff       	call   0x40efb3
431b0f:	6a 05                	push   $0x5
431b11:	58                   	pop    %eax
431b12:	e8 fc de 00 00       	call   0x43fa13
431b17:	c3                   	ret
431b18:	6a 38                	push   $0x38
431b1a:	b8 28 1d 49 00       	mov    $0x491d28,%eax
431b1f:	e8 26 df 00 00       	call   0x43fa4a
431b24:	8b 7d 08             	mov    0x8(%ebp),%edi
431b27:	33 f6                	xor    %esi,%esi
431b29:	8b de                	mov    %esi,%ebx
431b2b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
431b2e:	85 ff                	test   %edi,%edi
431b30:	74 43                	je     0x431b75
431b32:	39 37                	cmp    %esi,(%edi)
431b34:	75 3f                	jne    0x431b75
431b36:	6a 0c                	push   $0xc
431b38:	e8 66 d7 00 00       	call   0x43f2a3
431b3d:	59                   	pop    %ecx
431b3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
431b41:	89 75 fc             	mov    %esi,-0x4(%ebp)
431b44:	85 c0                	test   %eax,%eax
431b46:	74 1e                	je     0x431b66
431b48:	8b 4d 0c             	mov    0xc(%ebp),%ecx
431b4b:	e8 c1 dd fe ff       	call   0x41f911
431b50:	50                   	push   %eax
431b51:	8d 4d bc             	lea    -0x44(%ebp),%ecx
431b54:	e8 f6 ac fd ff       	call   0x40c84f
431b59:	8b 4d f0             	mov    -0x10(%ebp),%ecx
431b5c:	43                   	inc    %ebx
431b5d:	56                   	push   %esi
431b5e:	50                   	push   %eax
431b5f:	e8 9c e0 ff ff       	call   0x42fc00
431b64:	8b f0                	mov    %eax,%esi
431b66:	89 37                	mov    %esi,(%edi)
431b68:	f6 c3 01             	test   $0x1,%bl
431b6b:	74 08                	je     0x431b75
431b6d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
431b70:	e8 3e d4 fd ff       	call   0x40efb3
431b75:	6a 05                	push   $0x5
431b77:	58                   	pop    %eax
431b78:	e8 96 de 00 00       	call   0x43fa13
431b7d:	c3                   	ret
431b7e:	6a 38                	push   $0x38
431b80:	b8 50 1d 49 00       	mov    $0x491d50,%eax
431b85:	e8 c0 de 00 00       	call   0x43fa4a
431b8a:	8b 7d 08             	mov    0x8(%ebp),%edi
431b8d:	33 f6                	xor    %esi,%esi
431b8f:	8b de                	mov    %esi,%ebx
431b91:	89 5d f0             	mov    %ebx,-0x10(%ebp)
431b94:	85 ff                	test   %edi,%edi
431b96:	74 43                	je     0x431bdb
431b98:	39 37                	cmp    %esi,(%edi)
431b9a:	75 3f                	jne    0x431bdb
431b9c:	6a 0c                	push   $0xc
431b9e:	e8 00 d7 00 00       	call   0x43f2a3
431ba3:	59                   	pop    %ecx
431ba4:	89 45 f0             	mov    %eax,-0x10(%ebp)
431ba7:	89 75 fc             	mov    %esi,-0x4(%ebp)
431baa:	85 c0                	test   %eax,%eax
431bac:	74 1e                	je     0x431bcc
431bae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
431bb1:	e8 5b dd fe ff       	call   0x41f911
431bb6:	50                   	push   %eax
431bb7:	8d 4d bc             	lea    -0x44(%ebp),%ecx
431bba:	e8 90 ac fd ff       	call   0x40c84f
431bbf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
431bc2:	43                   	inc    %ebx
431bc3:	56                   	push   %esi
431bc4:	50                   	push   %eax
431bc5:	e8 67 e0 ff ff       	call   0x42fc31
431bca:	8b f0                	mov    %eax,%esi
431bcc:	89 37                	mov    %esi,(%edi)
431bce:	f6 c3 01             	test   $0x1,%bl
431bd1:	74 08                	je     0x431bdb
431bd3:	8d 4d bc             	lea    -0x44(%ebp),%ecx
431bd6:	e8 d8 d3 fd ff       	call   0x40efb3
431bdb:	6a 05                	push   $0x5
431bdd:	58                   	pop    %eax
431bde:	e8 30 de 00 00       	call   0x43fa13
431be3:	c3                   	ret
431be4:	55                   	push   %ebp
431be5:	8b ec                	mov    %esp,%ebp
431be7:	e8 9a 41 ff ff       	call   0x425d86
431bec:	8b 4d 08             	mov    0x8(%ebp),%ecx
431bef:	89 01                	mov    %eax,(%ecx)
431bf1:	8b c1                	mov    %ecx,%eax
431bf3:	89 51 04             	mov    %edx,0x4(%ecx)
431bf6:	5d                   	pop    %ebp
431bf7:	c2 04 00             	ret    $0x4
431bfa:	e9 45 d6 00 00       	jmp    0x43f244
431bff:	56                   	push   %esi
431c00:	57                   	push   %edi
431c01:	8b f9                	mov    %ecx,%edi
431c03:	e8 0e 7e 03 00       	call   0x469a16
431c08:	8b f0                	mov    %eax,%esi
431c0a:	85 f6                	test   %esi,%esi
431c0c:	74 10                	je     0x431c1e
431c0e:	56                   	push   %esi
431c0f:	8d 4f 04             	lea    0x4(%edi),%ecx
431c12:	e8 46 4c ff ff       	call   0x42685d
431c17:	56                   	push   %esi
431c18:	e8 71 b1 01 00       	call   0x44cd8e
431c1d:	59                   	pop    %ecx
431c1e:	8b 47 04             	mov    0x4(%edi),%eax
431c21:	5f                   	pop    %edi
431c22:	5e                   	pop    %esi
431c23:	85 c0                	test   %eax,%eax
431c25:	75 05                	jne    0x431c2c
431c27:	b8 38 a3 49 00       	mov    $0x49a338,%eax
431c2c:	c3                   	ret
431c2d:	68 88 00 00 00       	push   $0x88
431c32:	b8 91 1d 49 00       	mov    $0x491d91,%eax
431c37:	e8 42 de 00 00       	call   0x43fa7e
431c3c:	8b 7d 18             	mov    0x18(%ebp),%edi
431c3f:	8b 75 0c             	mov    0xc(%ebp),%esi
431c42:	8b 4d 14             	mov    0x14(%ebp),%ecx
431c45:	8b 55 1c             	mov    0x1c(%ebp),%edx
431c48:	8b 47 14             	mov    0x14(%edi),%eax
431c4b:	8b 5d 10             	mov    0x10(%ebp),%ebx
431c4e:	25 00 30 00 00       	and    $0x3000,%eax
431c53:	89 75 84             	mov    %esi,-0x7c(%ebp)
431c56:	89 4d 98             	mov    %ecx,-0x68(%ebp)
431c59:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
431c5f:	3d 00 30 00 00       	cmp    $0x3000,%eax
431c64:	75 15                	jne    0x431c7b
431c66:	52                   	push   %edx
431c67:	57                   	push   %edi
431c68:	51                   	push   %ecx
431c69:	53                   	push   %ebx
431c6a:	56                   	push   %esi
431c6b:	ff 75 08             	push   0x8(%ebp)
431c6e:	e8 94 06 00 00       	call   0x432307
431c73:	83 c4 18             	add    $0x18,%esp
431c76:	e9 86 06 00 00       	jmp    0x432301
431c7b:	ff 77 30             	push   0x30(%edi)
431c7e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
431c84:	e8 b3 71 ff ff       	call   0x428e3c
431c89:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431c8d:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
431c93:	50                   	push   %eax
431c94:	e8 78 d7 ff ff       	call   0x42f411
431c99:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
431c9d:	8b f0                	mov    %eax,%esi
431c9f:	59                   	pop    %ecx
431ca0:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
431ca6:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
431cac:	e8 36 d7 fd ff       	call   0x40f3e7
431cb1:	8b 0e                	mov    (%esi),%ecx
431cb3:	8d 45 a0             	lea    -0x60(%ebp),%eax
431cb6:	50                   	push   %eax
431cb7:	8b 71 14             	mov    0x14(%ecx),%esi
431cba:	8b ce                	mov    %esi,%ecx
431cbc:	ff 15 54 43 49 00    	call   *0x494354
431cc2:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
431cc8:	ff d6                	call   *%esi
431cca:	8b 45 84             	mov    -0x7c(%ebp),%eax
431ccd:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
431cd3:	ff 77 30             	push   0x30(%edi)
431cd6:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
431cdd:	89 45 90             	mov    %eax,-0x70(%ebp)
431ce0:	c6 45 9d 00          	movb   $0x0,-0x63(%ebp)
431ce4:	c6 45 9e 00          	movb   $0x0,-0x62(%ebp)
431ce8:	e8 4f 71 ff ff       	call   0x428e3c
431ced:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
431cf3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
431cf7:	50                   	push   %eax
431cf8:	e8 00 ce ff ff       	call   0x42eafd
431cfd:	59                   	pop    %ecx
431cfe:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
431d04:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
431d08:	8b f8                	mov    %eax,%edi
431d0a:	e8 d8 d6 fd ff       	call   0x40f3e7
431d0f:	8b 0f                	mov    (%edi),%ecx
431d11:	8d 45 d0             	lea    -0x30(%ebp),%eax
431d14:	50                   	push   %eax
431d15:	68 87 aa 49 00       	push   $0x49aa87
431d1a:	68 78 aa 49 00       	push   $0x49aa78
431d1f:	8b 71 2c             	mov    0x2c(%ecx),%esi
431d22:	8b ce                	mov    %esi,%ecx
431d24:	ff 15 54 43 49 00    	call   *0x494354
431d2a:	8b cf                	mov    %edi,%ecx
431d2c:	ff d6                	call   *%esi
431d2e:	8b 7d 98             	mov    -0x68(%ebp),%edi
431d31:	8b cb                	mov    %ebx,%ecx
431d33:	57                   	push   %edi
431d34:	e8 07 91 00 00       	call   0x43ae40
431d39:	84 c0                	test   %al,%al
431d3b:	75 47                	jne    0x431d84
431d3d:	38 43 04             	cmp    %al,0x4(%ebx)
431d40:	75 07                	jne    0x431d49
431d42:	8b cb                	mov    %ebx,%ecx
431d44:	e8 ce 41 00 00       	call   0x435f17
431d49:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
431d4d:	66 3b 45 e6          	cmp    -0x1a(%ebp),%ax
431d51:	75 12                	jne    0x431d65
431d53:	8b 45 84             	mov    -0x7c(%ebp),%eax
431d56:	c6 00 2b             	movb   $0x2b,(%eax)
431d59:	8b cb                	mov    %ebx,%ecx
431d5b:	8d 70 01             	lea    0x1(%eax),%esi
431d5e:	e8 de 2c 00 00       	call   0x434a41
431d63:	eb 22                	jmp    0x431d87
431d65:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
431d69:	75 0b                	jne    0x431d76
431d6b:	8b cb                	mov    %ebx,%ecx
431d6d:	e8 a5 41 00 00       	call   0x435f17
431d72:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
431d76:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
431d7a:	75 08                	jne    0x431d84
431d7c:	8b 45 84             	mov    -0x7c(%ebp),%eax
431d7f:	c6 00 2d             	movb   $0x2d,(%eax)
431d82:	eb d5                	jmp    0x431d59
431d84:	8b 75 90             	mov    -0x70(%ebp),%esi
431d87:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
431d8d:	33 c0                	xor    %eax,%eax
431d8f:	33 d2                	xor    %edx,%edx
431d91:	c6 06 30             	movb   $0x30,(%esi)
431d94:	89 75 80             	mov    %esi,-0x80(%ebp)
431d97:	46                   	inc    %esi
431d98:	89 75 90             	mov    %esi,-0x70(%ebp)
431d9b:	81 39 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%ecx)
431da1:	88 55 9f             	mov    %dl,-0x61(%ebp)
431da4:	0f 95 c0             	setne  %al
431da7:	89 55 8c             	mov    %edx,-0x74(%ebp)
431daa:	48                   	dec    %eax
431dab:	89 55 94             	mov    %edx,-0x6c(%ebp)
431dae:	25 dc 02 00 00       	and    $0x2dc,%eax
431db3:	83 c0 24             	add    $0x24,%eax
431db6:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
431dba:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
431dc0:	8d 45 a0             	lea    -0x60(%ebp),%eax
431dc3:	89 45 88             	mov    %eax,-0x78(%ebp)
431dc6:	72 06                	jb     0x431dce
431dc8:	8b 45 a0             	mov    -0x60(%ebp),%eax
431dcb:	89 45 88             	mov    %eax,-0x78(%ebp)
431dce:	8a 00                	mov    (%eax),%al
431dd0:	3c 7f                	cmp    $0x7f,%al
431dd2:	0f 84 d0 01 00 00    	je     0x431fa8
431dd8:	84 c0                	test   %al,%al
431dda:	0f 8e c8 01 00 00    	jle    0x431fa8
431de0:	39 55 b0             	cmp    %edx,-0x50(%ebp)
431de3:	75 08                	jne    0x431ded
431de5:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
431deb:	eb 16                	jmp    0x431e03
431ded:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
431df3:	e8 7c 97 00 00       	call   0x43b574
431df8:	0f b7 c0             	movzwl %ax,%eax
431dfb:	33 d2                	xor    %edx,%edx
431dfd:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
431e03:	52                   	push   %edx
431e04:	6a 01                	push   $0x1
431e06:	8d 4d b8             	lea    -0x48(%ebp),%ecx
431e09:	89 55 c8             	mov    %edx,-0x38(%ebp)
431e0c:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
431e13:	88 55 b8             	mov    %dl,-0x48(%ebp)
431e16:	e8 23 d9 fe ff       	call   0x41f73e
431e1b:	ff 75 98             	push   -0x68(%ebp)
431e1e:	8b cb                	mov    %ebx,%ecx
431e20:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
431e24:	33 ff                	xor    %edi,%edi
431e26:	e8 15 90 00 00       	call   0x43ae40
431e2b:	84 c0                	test   %al,%al
431e2d:	0f 85 07 01 00 00    	jne    0x431f3a
431e33:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
431e37:	75 07                	jne    0x431e40
431e39:	8b cb                	mov    %ebx,%ecx
431e3b:	e8 d7 40 00 00       	call   0x435f17
431e40:	0f b7 4b 06          	movzwl 0x6(%ebx),%ecx
431e44:	8d 45 d0             	lea    -0x30(%ebp),%eax
431e47:	66 39 08             	cmp    %cx,(%eax)
431e4a:	74 0a                	je     0x431e56
431e4c:	83 c0 02             	add    $0x2,%eax
431e4f:	8d 55 ec             	lea    -0x14(%ebp),%edx
431e52:	3b c2                	cmp    %edx,%eax
431e54:	75 f1                	jne    0x431e47
431e56:	8d 4d d0             	lea    -0x30(%ebp),%ecx
431e59:	2b c1                	sub    %ecx,%eax
431e5b:	d1 f8                	sar    $1,%eax
431e5d:	83 f8 0a             	cmp    $0xa,%eax
431e60:	73 57                	jae    0x431eb9
431e62:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
431e65:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
431e69:	39 8d 6c ff ff ff    	cmp    %ecx,-0x94(%ebp)
431e6f:	7f 0d                	jg     0x431e7e
431e71:	ff 45 94             	incl   -0x6c(%ebp)
431e74:	85 c0                	test   %eax,%eax
431e76:	74 1e                	je     0x431e96
431e78:	c6 45 9e 01          	movb   $0x1,-0x62(%ebp)
431e7c:	eb 18                	jmp    0x431e96
431e7e:	85 c0                	test   %eax,%eax
431e80:	75 04                	jne    0x431e86
431e82:	85 c9                	test   %ecx,%ecx
431e84:	74 10                	je     0x431e96
431e86:	8a 80 78 aa 49 00    	mov    0x49aa78(%eax),%al
431e8c:	88 06                	mov    %al,(%esi)
431e8e:	46                   	inc    %esi
431e8f:	41                   	inc    %ecx
431e90:	89 75 90             	mov    %esi,-0x70(%ebp)
431e93:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
431e96:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
431e9a:	8d 45 b8             	lea    -0x48(%ebp),%eax
431e9d:	72 03                	jb     0x431ea2
431e9f:	8b 45 b8             	mov    -0x48(%ebp),%eax
431ea2:	80 3c 38 7f          	cmpb   $0x7f,(%eax,%edi,1)
431ea6:	74 5c                	je     0x431f04
431ea8:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
431eac:	8d 45 b8             	lea    -0x48(%ebp),%eax
431eaf:	72 03                	jb     0x431eb4
431eb1:	8b 45 b8             	mov    -0x48(%ebp),%eax
431eb4:	fe 04 38             	incb   (%eax,%edi,1)
431eb7:	eb 4b                	jmp    0x431f04
431eb9:	8b 55 cc             	mov    -0x34(%ebp),%edx
431ebc:	8d 45 b8             	lea    -0x48(%ebp),%eax
431ebf:	8b 4d b8             	mov    -0x48(%ebp),%ecx
431ec2:	83 fa 10             	cmp    $0x10,%edx
431ec5:	72 02                	jb     0x431ec9
431ec7:	8b c1                	mov    %ecx,%eax
431ec9:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
431ecd:	74 54                	je     0x431f23
431ecf:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
431ed6:	00
431ed7:	74 4a                	je     0x431f23
431ed9:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
431edd:	75 0d                	jne    0x431eec
431edf:	8b cb                	mov    %ebx,%ecx
431ee1:	e8 31 40 00 00       	call   0x435f17
431ee6:	8b 55 cc             	mov    -0x34(%ebp),%edx
431ee9:	8b 4d b8             	mov    -0x48(%ebp),%ecx
431eec:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
431ef0:	66 3b 85 74 ff ff ff 	cmp    -0x8c(%ebp),%ax
431ef7:	75 2a                	jne    0x431f23
431ef9:	6a 00                	push   $0x0
431efb:	8d 4d b8             	lea    -0x48(%ebp),%ecx
431efe:	e8 8f 07 ff ff       	call   0x422692
431f03:	47                   	inc    %edi
431f04:	8b cb                	mov    %ebx,%ecx
431f06:	e8 36 2b 00 00       	call   0x434a41
431f0b:	ff 75 98             	push   -0x68(%ebp)
431f0e:	8b cb                	mov    %ebx,%ecx
431f10:	e8 2b 8f 00 00       	call   0x43ae40
431f15:	84 c0                	test   %al,%al
431f17:	0f 84 16 ff ff ff    	je     0x431e33
431f1d:	8b 55 cc             	mov    -0x34(%ebp),%edx
431f20:	8b 4d b8             	mov    -0x48(%ebp),%ecx
431f23:	85 ff                	test   %edi,%edi