413a5d:	8b 44 24 20          	mov    0x20(%esp),%eax
413a61:	83 f8 01             	cmp    $0x1,%eax
413a64:	74 38                	je     0x413a9e
413a66:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
413a6a:	e9 1f f9 ff ff       	jmp    0x41338e
413a6f:	4b                   	dec    %ebx
413a70:	0f 88 b7 fc ff ff    	js     0x41372d
413a76:	47                   	inc    %edi
413a77:	83 c2 04             	add    $0x4,%edx
413a7a:	e9 82 fc ff ff       	jmp    0x413701
413a7f:	8b 75 14             	mov    0x14(%ebp),%esi
413a82:	8b ce                	mov    %esi,%ecx
413a84:	c6 00 00             	movb   $0x0,(%eax)
413a87:	e8 94 f1 ff ff       	call   0x412c20
413a8c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
413a93:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
413a99:	e9 b1 fa ff ff       	jmp    0x41354f
413a9e:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
413aa2:	74 c2                	je     0x413a66
413aa4:	e9 dd 57 06 00       	jmp    0x479286
413aa9:	46                   	inc    %esi
413aaa:	33 d2                	xor    %edx,%edx
413aac:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
413aaf:	90                   	nop
413ab0:	8b 01                	mov    (%ecx),%eax
413ab2:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413ab6:	66 83 f8 47          	cmp    $0x47,%ax
413aba:	74 34                	je     0x413af0
413abc:	66 83 f8 48          	cmp    $0x48,%ax
413ac0:	74 1a                	je     0x413adc
413ac2:	66 83 f8 40          	cmp    $0x40,%ax
413ac6:	74 06                	je     0x413ace
413ac8:	46                   	inc    %esi
413ac9:	83 c1 04             	add    $0x4,%ecx
413acc:	eb e2                	jmp    0x413ab0
413ace:	85 d2                	test   %edx,%edx
413ad0:	0f 84 bc fe ff ff    	je     0x413992
413ad6:	46                   	inc    %esi
413ad7:	83 c1 04             	add    $0x4,%ecx
413ada:	eb d4                	jmp    0x413ab0
413adc:	4a                   	dec    %edx
413add:	0f 88 af fe ff ff    	js     0x413992
413ae3:	46                   	inc    %esi
413ae4:	83 c1 04             	add    $0x4,%ecx
413ae7:	eb c7                	jmp    0x413ab0
413ae9:	33 c0                	xor    %eax,%eax
413aeb:	e9 58 f8 ff ff       	jmp    0x413348
413af0:	42                   	inc    %edx
413af1:	46                   	inc    %esi
413af2:	83 c1 04             	add    $0x4,%ecx
413af5:	eb b9                	jmp    0x413ab0
413af7:	43                   	inc    %ebx
413af8:	47                   	inc    %edi
413af9:	83 c2 04             	add    $0x4,%edx
413afc:	e9 00 fc ff ff       	jmp    0x413701
413b01:	8b 40 08             	mov    0x8(%eax),%eax
413b04:	e9 7d fc ff ff       	jmp    0x413786
413b09:	33 c0                	xor    %eax,%eax
413b0b:	e9 f2 fc ff ff       	jmp    0x413802
413b10:	33 f6                	xor    %esi,%esi
413b12:	e9 ee fc ff ff       	jmp    0x413805
413b17:	33 ff                	xor    %edi,%edi
413b19:	e9 4f fd ff ff       	jmp    0x41386d
413b1e:	33 f6                	xor    %esi,%esi
413b20:	e9 94 f9 ff ff       	jmp    0x4134b9
413b25:	8b 7c 24 30          	mov    0x30(%esp),%edi
413b29:	e9 49 59 06 00       	jmp    0x479477
413b2e:	8b 40 38             	mov    0x38(%eax),%eax
413b31:	e9 dc f9 ff ff       	jmp    0x413512
413b36:	8b 40 38             	mov    0x38(%eax),%eax
413b39:	e9 26 fa ff ff       	jmp    0x413564
413b3e:	8b 40 38             	mov    0x38(%eax),%eax
413b41:	e9 35 fa ff ff       	jmp    0x41357b
413b46:	c6 46 0d 01          	movb   $0x1,0xd(%esi)
413b4a:	e9 82 fa ff ff       	jmp    0x4135d1
413b4f:	8b 40 38             	mov    0x38(%eax),%eax
413b52:	e9 92 fa ff ff       	jmp    0x4135e9
413b57:	8b 40 38             	mov    0x38(%eax),%eax
413b5a:	e9 a1 fa ff ff       	jmp    0x413600
413b5f:	8b 40 38             	mov    0x38(%eax),%eax
413b62:	e9 ce fa ff ff       	jmp    0x413635
413b67:	83 cb ff             	or     $0xffffffff,%ebx
413b6a:	e9 fb fa ff ff       	jmp    0x41366a
413b6f:	cc                   	int3
413b70:	55                   	push   %ebp
413b71:	8b ec                	mov    %esp,%ebp
413b73:	81 ec 68 01 00 00    	sub    $0x168,%esp
413b79:	8b 45 10             	mov    0x10(%ebp),%eax
413b7c:	53                   	push   %ebx
413b7d:	56                   	push   %esi
413b7e:	57                   	push   %edi
413b7f:	8b f9                	mov    %ecx,%edi
413b81:	89 7d f4             	mov    %edi,-0xc(%ebp)
413b84:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
413b8b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
413b92:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
413b96:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
413b9d:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
413ba4:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
413bab:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
413bb2:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
413bb9:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
413bc0:	a8 04                	test   $0x4,%al
413bc2:	0f 85 dd 06 00 00    	jne    0x4142a5
413bc8:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
413bcc:	8b 5d 08             	mov    0x8(%ebp),%ebx
413bcf:	83 e0 03             	and    $0x3,%eax
413bd2:	89 45 10             	mov    %eax,0x10(%ebp)
413bd5:	8b 45 0c             	mov    0xc(%ebp),%eax
413bd8:	ff 00                	incl   (%eax)
413bda:	8b 08                	mov    (%eax),%ecx
413bdc:	8b 43 04             	mov    0x4(%ebx),%eax
413bdf:	8d 04 88             	lea    (%eax,%ecx,4),%eax
413be2:	8b 08                	mov    (%eax),%ecx
413be4:	66 83 79 08 00       	cmpw   $0x0,0x8(%ecx)
413be9:	0f 84 85 33 06 00    	je     0x476f74
413bef:	33 c9                	xor    %ecx,%ecx
413bf1:	b8 08 00 00 00       	mov    $0x8,%eax
413bf6:	ba 02 00 00 00       	mov    $0x2,%edx
413bfb:	f7 e2                	mul    %edx
413bfd:	0f 90 c1             	seto   %cl
413c00:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
413c07:	c7 45 dc 08 00 00 00 	movl   $0x8,-0x24(%ebp)
413c0e:	f7 d9                	neg    %ecx
413c10:	0b c8                	or     %eax,%ecx
413c12:	51                   	push   %ecx
413c13:	e8 d2 b8 00 00       	call   0x41f4ea
413c18:	8b f0                	mov    %eax,%esi
413c1a:	83 c4 04             	add    $0x4,%esp
413c1d:	33 c0                	xor    %eax,%eax
413c1f:	6a 04                	push   $0x4
413c21:	89 75 d4             	mov    %esi,-0x2c(%ebp)
413c24:	66 89 06             	mov    %ax,(%esi)
413c27:	e8 be b8 00 00       	call   0x41f4ea
413c2c:	8b d0                	mov    %eax,%edx
413c2e:	83 c4 04             	add    $0x4,%esp
413c31:	89 55 b4             	mov    %edx,-0x4c(%ebp)
413c34:	85 d2                	test   %edx,%edx
413c36:	0f 84 72 06 00 00    	je     0x4142ae
413c3c:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
413c42:	8b 7d 0c             	mov    0xc(%ebp),%edi
413c45:	8b 43 04             	mov    0x4(%ebx),%eax
413c48:	8b 0f                	mov    (%edi),%ecx
413c4a:	89 55 e0             	mov    %edx,-0x20(%ebp)
413c4d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
413c50:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
413c55:	0f 85 3e 37 06 00    	jne    0x477399
413c5b:	eb 03                	jmp    0x413c60
413c5d:	8d 49 00             	lea    0x0(%ecx),%ecx
413c60:	8b 30                	mov    (%eax),%esi
413c62:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413c65:	3b c6                	cmp    %esi,%eax
413c67:	74 35                	je     0x413c9e
413c69:	8b 02                	mov    (%edx),%eax
413c6b:	83 f8 01             	cmp    $0x1,%eax
413c6e:	0f 8f 76 33 06 00    	jg     0x476fea
413c74:	8b 7e 04             	mov    0x4(%esi),%edi
413c77:	89 7d d8             	mov    %edi,-0x28(%ebp)
413c7a:	8d 47 01             	lea    0x1(%edi),%eax
413c7d:	39 45 dc             	cmp    %eax,-0x24(%ebp)
413c80:	0f 82 c1 03 00 00    	jb     0x414047
413c86:	8d 04 7d 02 00 00 00 	lea    0x2(,%edi,2),%eax
413c8d:	50                   	push   %eax
413c8e:	ff 36                	push   (%esi)
413c90:	ff 75 d4             	push   -0x2c(%ebp)
413c93:	e8 e8 b1 00 00       	call   0x41ee80
413c98:	8b 7d 0c             	mov    0xc(%ebp),%edi
413c9b:	83 c4 0c             	add    $0xc,%esp
413c9e:	33 f6                	xor    %esi,%esi
413ca0:	80 3d fc 20 4c 00 00 	cmpb   $0x0,0x4c20fc
413ca7:	89 75 08             	mov    %esi,0x8(%ebp)
413caa:	75 58                	jne    0x413d04
413cac:	8b 45 10             	mov    0x10(%ebp),%eax
413caf:	83 f8 01             	cmp    $0x1,%eax
413cb2:	0f 85 d2 03 00 00    	jne    0x41408a
413cb8:	39 35 f0 20 4c 00    	cmp    %esi,0x4c20f0
413cbe:	0f 84 20 04 00 00    	je     0x4140e4
413cc4:	80 3d f9 20 4c 00 00 	cmpb   $0x0,0x4c20f9
413ccb:	0f 85 96 33 06 00    	jne    0x477067
413cd1:	8b 35 f4 20 4c 00    	mov    0x4c20f4,%esi
413cd7:	56                   	push   %esi
413cd8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413cdb:	50                   	push   %eax
413cdc:	e8 bf 9c ff ff       	call   0x40d9a0
413ce1:	84 c0                	test   %al,%al
413ce3:	0f 84 57 03 00 00    	je     0x414040
413ce9:	8b 0e                	mov    (%esi),%ecx
413ceb:	85 c9                	test   %ecx,%ecx
413ced:	0f 84 4d 03 00 00    	je     0x414040
413cf3:	8b 41 10             	mov    0x10(%ecx),%eax
413cf6:	8b 71 14             	mov    0x14(%ecx),%esi
413cf9:	25 00 ff 00 00       	and    $0xff00,%eax
413cfe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
413d01:	89 75 08             	mov    %esi,0x8(%ebp)
413d04:	89 75 e8             	mov    %esi,-0x18(%ebp)
413d07:	85 f6                	test   %esi,%esi
413d09:	0f 84 dd 02 00 00    	je     0x413fec
413d0f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413d12:	a9 00 01 00 00       	test   $0x100,%eax
413d17:	0f 85 5d 36 06 00    	jne    0x47737a
413d1d:	a9 00 04 00 00       	test   $0x400,%eax
413d22:	0f 85 4c 33 06 00    	jne    0x477074
413d28:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
413d2c:	8b 45 10             	mov    0x10(%ebp),%eax
413d2f:	a8 01                	test   $0x1,%al
413d31:	74 22                	je     0x413d55
413d33:	50                   	push   %eax
413d34:	8d 45 e4             	lea    -0x1c(%ebp),%eax
413d37:	50                   	push   %eax
413d38:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413d3b:	50                   	push   %eax
413d3c:	e8 fc 9a ff ff       	call   0x40d83d
413d41:	84 c0                	test   %al,%al
413d43:	74 0d                	je     0x413d52
413d45:	f7 45 e4 00 02 00 00 	testl  $0x200,-0x1c(%ebp)
413d4c:	0f 85 61 35 06 00    	jne    0x4772b3
413d52:	8b 45 10             	mov    0x10(%ebp),%eax
413d55:	a8 02                	test   $0x2,%al
413d57:	0f 85 58 03 00 00    	jne    0x4140b5
413d5d:	8a 55 fb             	mov    -0x5(%ebp),%dl
413d60:	84 d2                	test   %dl,%dl
413d62:	0f 85 35 33 06 00    	jne    0x47709d
413d68:	8b 45 0c             	mov    0xc(%ebp),%eax
413d6b:	ff 00                	incl   (%eax)
413d6d:	8b 08                	mov    (%eax),%ecx
413d6f:	8b 43 04             	mov    0x4(%ebx),%eax
413d72:	8b 04 88             	mov    (%eax,%ecx,4),%eax
413d75:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
413d7a:	0f 84 7d 03 00 00    	je     0x4140fd
413d80:	8b 7d 08             	mov    0x8(%ebp),%edi
413d83:	8b 75 0c             	mov    0xc(%ebp),%esi
413d86:	8b 53 04             	mov    0x4(%ebx),%edx
413d89:	8b 0e                	mov    (%esi),%ecx
413d8b:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
413d8e:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
413d93:	0f 85 e4 01 00 00    	jne    0x413f7d
413d99:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
413d9d:	8d 41 01             	lea    0x1(%ecx),%eax
413da0:	89 06                	mov    %eax,(%esi)
413da2:	8b 04 82             	mov    (%edx,%eax,4),%eax
413da5:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
413da9:	89 4d d0             	mov    %ecx,-0x30(%ebp)
413dac:	0f 85 9e 35 06 00    	jne    0x477350
413db2:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
413db6:	0f 84 c5 00 00 00    	je     0x413e81
413dbc:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
413dc0:	0f 84 59 33 06 00    	je     0x47711f
413dc6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
413dc9:	e8 52 ee ff ff       	call   0x412c20
413dce:	6a 10                	push   $0x10
413dd0:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
413dd7:	e8 0e b7 00 00       	call   0x41f4ea
413ddc:	8b f0                	mov    %eax,%esi
413dde:	83 c4 04             	add    $0x4,%esp
413de1:	85 f6                	test   %esi,%esi
413de3:	0f 84 e0 04 00 00    	je     0x4142c9
413de9:	68 00 dc 49 00       	push   $0x49dc00
413dee:	e8 e8 ce 00 00       	call   0x420cdb
413df3:	8d 78 01             	lea    0x1(%eax),%edi
413df6:	83 c4 04             	add    $0x4,%esp
413df9:	89 46 04             	mov    %eax,0x4(%esi)
413dfc:	85 ff                	test   %edi,%edi
413dfe:	0f 84 b4 04 00 00    	je     0x4142b8
413e04:	8d 47 07             	lea    0x7(%edi),%eax
413e07:	83 e0 f8             	and    $0xfffffff8,%eax
413e0a:	33 c9                	xor    %ecx,%ecx
413e0c:	89 46 08             	mov    %eax,0x8(%esi)
413e0f:	ba 02 00 00 00       	mov    $0x2,%edx
413e14:	f7 e2                	mul    %edx
413e16:	0f 90 c1             	seto   %cl
413e19:	f7 d9                	neg    %ecx
413e1b:	0b c8                	or     %eax,%ecx
413e1d:	51                   	push   %ecx
413e1e:	e8 52 b0 00 00       	call   0x41ee75
413e23:	83 c4 04             	add    $0x4,%esp
413e26:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
413e29:	51                   	push   %ecx
413e2a:	68 00 dc 49 00       	push   $0x49dc00
413e2f:	50                   	push   %eax
413e30:	89 06                	mov    %eax,(%esi)
413e32:	e8 49 b0 00 00       	call   0x41ee80
413e37:	83 c4 0c             	add    $0xc,%esp
413e3a:	6a 04                	push   $0x4
413e3c:	e8 a9 b6 00 00       	call   0x41f4ea
413e41:	83 c4 04             	add    $0x4,%esp
413e44:	85 c0                	test   %eax,%eax
413e46:	0f 84 76 04 00 00    	je     0x4142c2
413e4c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
413e52:	8b 7d 08             	mov    0x8(%ebp),%edi
413e55:	89 46 0c             	mov    %eax,0xc(%esi)
413e58:	89 75 c4             	mov    %esi,-0x3c(%ebp)
413e5b:	8d 45 bc             	lea    -0x44(%ebp),%eax
413e5e:	3b f8                	cmp    %eax,%edi
413e60:	74 1c                	je     0x413e7e
413e62:	83 7f 0c 04          	cmpl   $0x4,0xc(%edi)
413e66:	0f 84 c8 32 06 00    	je     0x477134
413e6c:	8b cf                	mov    %edi,%ecx
413e6e:	e8 ad ed ff ff       	call   0x412c20
413e73:	8d 45 bc             	lea    -0x44(%ebp),%eax
413e76:	50                   	push   %eax
413e77:	8b cf                	mov    %edi,%ecx
413e79:	e8 a2 d8 ff ff       	call   0x411720
413e7e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
413e81:	8b 45 0c             	mov    0xc(%ebp),%eax
413e84:	8b 30                	mov    (%eax),%esi
413e86:	8b 43 04             	mov    0x4(%ebx),%eax
413e89:	8b 04 b0             	mov    (%eax,%esi,4),%eax
413e8c:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
413e91:	0f 84 b4 03 00 00    	je     0x41424b
413e97:	83 7f 0c 05          	cmpl   $0x5,0xc(%edi)
413e9b:	0f 84 49 04 00 00    	je     0x4142ea
413ea1:	33 d2                	xor    %edx,%edx
413ea3:	89 55 e8             	mov    %edx,-0x18(%ebp)
413ea6:	3b 73 08             	cmp    0x8(%ebx),%esi
413ea9:	0f 83 88 00 00 00    	jae    0x413f37
413eaf:	90                   	nop
413eb0:	8b 43 04             	mov    0x4(%ebx),%eax
413eb3:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
413eb6:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
413eba:	66 83 f8 33          	cmp    $0x33,%ax
413ebe:	74 35                	je     0x413ef5
413ec0:	66 83 f8 4e          	cmp    $0x4e,%ax
413ec4:	74 2c                	je     0x413ef2
413ec6:	66 83 f8 4f          	cmp    $0x4f,%ax
413eca:	74 1a                	je     0x413ee6
413ecc:	66 83 f8 47          	cmp    $0x47,%ax
413ed0:	74 20                	je     0x413ef2
413ed2:	66 83 f8 48          	cmp    $0x48,%ax
413ed6:	74 0e                	je     0x413ee6
413ed8:	66 83 f8 40          	cmp    $0x40,%ax
413edc:	74 52                	je     0x413f30
413ede:	66 83 f8 7f          	cmp    $0x7f,%ax
413ee2:	74 50                	je     0x413f34
413ee4:	eb 04                	jmp    0x413eea
413ee6:	4a                   	dec    %edx
413ee7:	89 55 e8             	mov    %edx,-0x18(%ebp)
413eea:	46                   	inc    %esi
413eeb:	3b 73 08             	cmp    0x8(%ebx),%esi
413eee:	72 c0                	jb     0x413eb0
413ef0:	eb 42                	jmp    0x413f34
413ef2:	42                   	inc    %edx
413ef3:	eb f2                	jmp    0x413ee7
413ef5:	8b 09                	mov    (%ecx),%ecx
413ef7:	8b 51 04             	mov    0x4(%ecx),%edx
413efa:	3b 55 d8             	cmp    -0x28(%ebp),%edx
413efd:	74 05                	je     0x413f04
413eff:	8b 55 e8             	mov    -0x18(%ebp),%edx
413f02:	eb bc                	jmp    0x413ec0
413f04:	8b 09                	mov    (%ecx),%ecx
413f06:	8b 7d d4             	mov    -0x2c(%ebp),%edi