42588d:	e8 52 20 fe ff       	call   0x4078e4
425892:	59                   	pop    %ecx
425893:	59                   	pop    %ecx
425894:	33 c0                	xor    %eax,%eax
425896:	40                   	inc    %eax
425897:	e9 9d 00 00 00       	jmp    0x425939
42589c:	81 fe 03 01 00 00    	cmp    $0x103,%esi
4258a2:	0f 85 8f 00 00 00    	jne    0x425937
4258a8:	8b f7                	mov    %edi,%esi
4258aa:	e9 88 00 00 00       	jmp    0x425937
4258af:	8b ca                	mov    %edx,%ecx
4258b1:	e8 c9 52 fe ff       	call   0x40ab7f
4258b6:	8b c8                	mov    %eax,%ecx
4258b8:	e8 f3 53 fe ff       	call   0x40acb0
4258bd:	8b d8                	mov    %eax,%ebx
4258bf:	85 db                	test   %ebx,%ebx
4258c1:	74 d1                	je     0x425894
4258c3:	6a 20                	push   $0x20
4258c5:	5a                   	pop    %edx
4258c6:	8b cb                	mov    %ebx,%ecx
4258c8:	e8 28 a9 fe ff       	call   0x4101f5
4258cd:	85 c0                	test   %eax,%eax
4258cf:	74 05                	je     0x4258d6
4258d1:	33 c9                	xor    %ecx,%ecx
4258d3:	66 89 08             	mov    %cx,(%eax)
4258d6:	8b d3                	mov    %ebx,%edx
4258d8:	8b ce                	mov    %esi,%ecx
4258da:	e8 d4 09 00 00       	call   0x4262b3
4258df:	8b d0                	mov    %eax,%edx
4258e1:	89 95 f0 fd ff ff    	mov    %edx,-0x210(%ebp)
4258e7:	85 d2                	test   %edx,%edx
4258e9:	74 28                	je     0x425913
4258eb:	8b ca                	mov    %edx,%ecx
4258ed:	33 ff                	xor    %edi,%edi
4258ef:	8d 71 02             	lea    0x2(%ecx),%esi
4258f2:	66 8b 01             	mov    (%ecx),%ax
4258f5:	83 c1 02             	add    $0x2,%ecx
4258f8:	66 3b c7             	cmp    %di,%ax
4258fb:	75 f5                	jne    0x4258f2
4258fd:	2b ce                	sub    %esi,%ecx
4258ff:	d1 f9                	sar    $1,%ecx
425901:	74 10                	je     0x425913
425903:	52                   	push   %edx
425904:	53                   	push   %ebx
425905:	68 6c 3b 40 00       	push   $0x403b6c
42590a:	e8 41 40 fe ff       	call   0x409950
42590f:	8b f0                	mov    %eax,%esi
425911:	eb 0f                	jmp    0x425922
425913:	33 f6                	xor    %esi,%esi
425915:	53                   	push   %ebx
425916:	46                   	inc    %esi
425917:	56                   	push   %esi
425918:	68 a3 23 00 40       	push   $0x400023a3
42591d:	e8 c2 1f fe ff       	call   0x4078e4
425922:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
425928:	83 c4 0c             	add    $0xc,%esp
42592b:	e8 30 83 fe ff       	call   0x40dc60
425930:	8b cb                	mov    %ebx,%ecx
425932:	e8 29 83 fe ff       	call   0x40dc60
425937:	8b c6                	mov    %esi,%eax
425939:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42593c:	5f                   	pop    %edi
42593d:	5e                   	pop    %esi
42593e:	33 cd                	xor    %ebp,%ecx
425940:	5b                   	pop    %ebx
425941:	e8 ea 11 ff ff       	call   0x416b30
425946:	c9                   	leave
425947:	c3                   	ret
425948:	8b ff                	mov    %edi,%edi
42594a:	55                   	push   %ebp
42594b:	8b ec                	mov    %esp,%ebp
42594d:	81 ec 24 02 00 00    	sub    $0x224,%esp
425953:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
425958:	33 c5                	xor    %ebp,%eax
42595a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42595d:	53                   	push   %ebx
42595e:	56                   	push   %esi
42595f:	57                   	push   %edi
425960:	8b f9                	mov    %ecx,%edi
425962:	89 bd f0 fd ff ff    	mov    %edi,-0x210(%ebp)
425968:	85 d2                	test   %edx,%edx
42596a:	0f 85 88 01 00 00    	jne    0x425af8
425970:	33 db                	xor    %ebx,%ebx
425972:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
425978:	53                   	push   %ebx
425979:	53                   	push   %ebx
42597a:	53                   	push   %ebx
42597b:	53                   	push   %ebx
42597c:	50                   	push   %eax
42597d:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
425983:	89 9d ec fd ff ff    	mov    %ebx,-0x214(%ebp)
425989:	50                   	push   %eax
42598a:	be 04 01 00 00       	mov    $0x104,%esi
42598f:	53                   	push   %ebx
425990:	57                   	push   %edi
425991:	89 b5 e8 fd ff ff    	mov    %esi,-0x218(%ebp)
425997:	ff 15 5c a2 44 00    	call   *0x44a25c
42599d:	85 c0                	test   %eax,%eax
42599f:	0f 85 42 01 00 00    	jne    0x425ae7
4259a5:	6a 2e                	push   $0x2e
4259a7:	58                   	pop    %eax
4259a8:	66 39 85 f4 fd ff ff 	cmp    %ax,-0x20c(%ebp)
4259af:	0f 84 ff 00 00 00    	je     0x425ab4
4259b5:	8d bd f4 fd ff ff    	lea    -0x20c(%ebp),%edi
4259bb:	8d 4f 02             	lea    0x2(%edi),%ecx
4259be:	66 8b 07             	mov    (%edi),%ax
4259c1:	83 c7 02             	add    $0x2,%edi
4259c4:	66 3b c3             	cmp    %bx,%ax
4259c7:	75 f5                	jne    0x4259be
4259c9:	2b f9                	sub    %ecx,%edi
4259cb:	d1 ff                	sar    $1,%edi
4259cd:	8d 47 14             	lea    0x14(%edi),%eax
4259d0:	3b c6                	cmp    %esi,%eax
4259d2:	0f 87 d6 00 00 00    	ja     0x425aae
4259d8:	8b d6                	mov    %esi,%edx
4259da:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4259e0:	66 39 18             	cmp    %bx,(%eax)
4259e3:	74 08                	je     0x4259ed
4259e5:	83 c0 02             	add    $0x2,%eax
4259e8:	83 ea 01             	sub    $0x1,%edx
4259eb:	75 f3                	jne    0x4259e0
4259ed:	8b c6                	mov    %esi,%eax
4259ef:	8b ca                	mov    %edx,%ecx
4259f1:	2b c2                	sub    %edx,%eax
4259f3:	f7 d9                	neg    %ecx
4259f5:	1b c9                	sbb    %ecx,%ecx
4259f7:	23 c8                	and    %eax,%ecx
4259f9:	85 d2                	test   %edx,%edx
4259fb:	74 48                	je     0x425a45
4259fd:	8b d6                	mov    %esi,%edx
4259ff:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
425a05:	8d 04 48             	lea    (%eax,%ecx,2),%eax
425a08:	2b d1                	sub    %ecx,%edx
425a0a:	74 31                	je     0x425a3d
425a0c:	bb 5c 3c 40 00       	mov    $0x403c5c,%ebx
425a11:	b9 fe ff ff 7f       	mov    $0x7ffffffe,%ecx
425a16:	2b d8                	sub    %eax,%ebx
425a18:	85 c9                	test   %ecx,%ecx
425a1a:	74 15                	je     0x425a31
425a1c:	0f b7 34 03          	movzwl (%ebx,%eax,1),%esi
425a20:	66 85 f6             	test   %si,%si
425a23:	74 0c                	je     0x425a31
425a25:	66 89 30             	mov    %si,(%eax)
425a28:	83 c0 02             	add    $0x2,%eax
425a2b:	49                   	dec    %ecx
425a2c:	83 ea 01             	sub    $0x1,%edx
425a2f:	75 e7                	jne    0x425a18
425a31:	be 04 01 00 00       	mov    $0x104,%esi
425a36:	6a 00                	push   $0x0
425a38:	5b                   	pop    %ebx
425a39:	85 d2                	test   %edx,%edx
425a3b:	75 03                	jne    0x425a40
425a3d:	83 e8 02             	sub    $0x2,%eax
425a40:	33 c9                	xor    %ecx,%ecx
425a42:	66 89 08             	mov    %cx,(%eax)
425a45:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
425a4b:	8d 95 f4 fd ff ff    	lea    -0x20c(%ebp),%edx
425a51:	e8 5d 08 00 00       	call   0x4262b3
425a56:	03 ff                	add    %edi,%edi
425a58:	8b d0                	mov    %eax,%edx
425a5a:	89 95 e4 fd ff ff    	mov    %edx,-0x21c(%ebp)
425a60:	81 ff 08 02 00 00    	cmp    $0x208,%edi
425a66:	73 7a                	jae    0x425ae2
425a68:	33 c0                	xor    %eax,%eax
425a6a:	66 89 84 3d f4 fd ff 	mov    %ax,-0x20c(%ebp,%edi,1)
425a71:	ff
425a72:	85 d2                	test   %edx,%edx
425a74:	74 31                	je     0x425aa7
425a76:	8b ca                	mov    %edx,%ecx
425a78:	8d 79 02             	lea    0x2(%ecx),%edi
425a7b:	66 8b 01             	mov    (%ecx),%ax
425a7e:	83 c1 02             	add    $0x2,%ecx
425a81:	66 3b c3             	cmp    %bx,%ax
425a84:	75 f5                	jne    0x425a7b
425a86:	2b cf                	sub    %edi,%ecx
425a88:	d1 f9                	sar    $1,%ecx
425a8a:	74 1b                	je     0x425aa7
425a8c:	52                   	push   %edx
425a8d:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
425a93:	50                   	push   %eax
425a94:	68 6c 3b 40 00       	push   $0x403b6c
425a99:	e8 b2 3e fe ff       	call   0x409950
425a9e:	8b 95 e4 fd ff ff    	mov    -0x21c(%ebp),%edx
425aa4:	83 c4 0c             	add    $0xc,%esp
425aa7:	8b ca                	mov    %edx,%ecx
425aa9:	e8 b2 81 fe ff       	call   0x40dc60
425aae:	8b bd f0 fd ff ff    	mov    -0x210(%ebp),%edi
425ab4:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
425abb:	75 6d                	jne    0x425b2a
425abd:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
425ac3:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
425ac9:	53                   	push   %ebx
425aca:	53                   	push   %ebx
425acb:	53                   	push   %ebx
425acc:	53                   	push   %ebx
425acd:	51                   	push   %ecx
425ace:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
425ad4:	40                   	inc    %eax
425ad5:	51                   	push   %ecx
425ad6:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
425adc:	50                   	push   %eax
425add:	e9 ae fe ff ff       	jmp    0x425990
425ae2:	e8 91 11 ff ff       	call   0x416c78
425ae7:	8d b0 fd fe ff ff    	lea    -0x103(%eax),%esi
425aed:	f7 de                	neg    %esi
425aef:	1b f6                	sbb    %esi,%esi
425af1:	23 f0                	and    %eax,%esi
425af3:	e9 4b 01 00 00       	jmp    0x425c43
425af8:	66 83 3a 2e          	cmpw   $0x2e,(%edx)
425afc:	75 18                	jne    0x425b16
425afe:	52                   	push   %edx
425aff:	6a 01                	push   $0x1
425b01:	68 a5 23 00 40       	push   $0x400023a5
425b06:	e8 d9 1d fe ff       	call   0x4078e4
425b0b:	83 c4 0c             	add    $0xc,%esp
425b0e:	6a 7b                	push   $0x7b
425b10:	58                   	pop    %eax
425b11:	e9 2f 01 00 00       	jmp    0x425c45
425b16:	8b ca                	mov    %edx,%ecx
425b18:	e8 62 50 fe ff       	call   0x40ab7f
425b1d:	8b c8                	mov    %eax,%ecx
425b1f:	e8 8c 51 fe ff       	call   0x40acb0
425b24:	8b f8                	mov    %eax,%edi
425b26:	85 ff                	test   %edi,%edi
425b28:	75 08                	jne    0x425b32
425b2a:	33 c0                	xor    %eax,%eax
425b2c:	40                   	inc    %eax
425b2d:	e9 13 01 00 00       	jmp    0x425c45
425b32:	6a 20                	push   $0x20
425b34:	5a                   	pop    %edx
425b35:	8b cf                	mov    %edi,%ecx
425b37:	e8 b9 a6 fe ff       	call   0x4101f5
425b3c:	85 c0                	test   %eax,%eax
425b3e:	74 05                	je     0x425b45
425b40:	33 c9                	xor    %ecx,%ecx
425b42:	66 89 08             	mov    %cx,(%eax)
425b45:	8b cf                	mov    %edi,%ecx
425b47:	33 db                	xor    %ebx,%ebx
425b49:	8d 51 02             	lea    0x2(%ecx),%edx
425b4c:	66 8b 01             	mov    (%ecx),%ax
425b4f:	83 c1 02             	add    $0x2,%ecx
425b52:	66 3b c3             	cmp    %bx,%ax
425b55:	75 f5                	jne    0x425b4c
425b57:	2b ca                	sub    %edx,%ecx
425b59:	be 04 01 00 00       	mov    $0x104,%esi
425b5e:	d1 f9                	sar    $1,%ecx
425b60:	57                   	push   %edi
425b61:	8d 41 14             	lea    0x14(%ecx),%eax
425b64:	3b c6                	cmp    %esi,%eax
425b66:	76 17                	jbe    0x425b7f
425b68:	6a 01                	push   $0x1
425b6a:	68 db 23 00 40       	push   $0x400023db
425b6f:	e8 70 1d fe ff       	call   0x4078e4
425b74:	83 c4 0c             	add    $0xc,%esp
425b77:	6a 7b                	push   $0x7b
425b79:	5e                   	pop    %esi
425b7a:	e9 bd 00 00 00       	jmp    0x425c3c
425b7f:	8b d6                	mov    %esi,%edx
425b81:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
425b87:	e8 14 98 fe ff       	call   0x40f3a0
425b8c:	68 5c 3c 40 00       	push   $0x403c5c
425b91:	8b d6                	mov    %esi,%edx
425b93:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
425b99:	e8 a2 a0 fe ff       	call   0x40fc40
425b9e:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
425ba4:	50                   	push   %eax
425ba5:	68 00 00 00 02       	push   $0x2000000
425baa:	53                   	push   %ebx
425bab:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
425bb1:	50                   	push   %eax
425bb2:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
425bb8:	ff 15 48 a2 44 00    	call   *0x44a248
425bbe:	8b f0                	mov    %eax,%esi
425bc0:	85 f6                	test   %esi,%esi
425bc2:	74 12                	je     0x425bd6
425bc4:	57                   	push   %edi
425bc5:	6a 01                	push   $0x1
425bc7:	68 a5 23 00 40       	push   $0x400023a5
425bcc:	e8 13 1d fe ff       	call   0x4078e4
425bd1:	83 c4 0c             	add    $0xc,%esp
425bd4:	eb 66                	jmp    0x425c3c
425bd6:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
425bdc:	8d 95 f4 fd ff ff    	lea    -0x20c(%ebp),%edx
425be2:	e8 cc 06 00 00       	call   0x4262b3
425be7:	8b d0                	mov    %eax,%edx
425be9:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
425bef:	85 d2                	test   %edx,%edx
425bf1:	74 2e                	je     0x425c21
425bf3:	8b ca                	mov    %edx,%ecx
425bf5:	8d 41 02             	lea    0x2(%ecx),%eax
425bf8:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
425bfe:	66 8b 01             	mov    (%ecx),%ax
425c01:	83 c1 02             	add    $0x2,%ecx
425c04:	66 3b c3             	cmp    %bx,%ax
425c07:	75 f5                	jne    0x425bfe
425c09:	2b 8d e4 fd ff ff    	sub    -0x21c(%ebp),%ecx
425c0f:	d1 f9                	sar    $1,%ecx
425c11:	74 0e                	je     0x425c21
425c13:	52                   	push   %edx
425c14:	57                   	push   %edi
425c15:	68 6c 3b 40 00       	push   $0x403b6c
425c1a:	e8 31 3d fe ff       	call   0x409950
425c1f:	eb 0d                	jmp    0x425c2e
425c21:	57                   	push   %edi
425c22:	6a 01                	push   $0x1
425c24:	68 a5 23 00 40       	push   $0x400023a5
425c29:	e8 b6 1c fe ff       	call   0x4078e4
425c2e:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
425c34:	83 c4 0c             	add    $0xc,%esp
425c37:	e8 24 80 fe ff       	call   0x40dc60
425c3c:	8b cf                	mov    %edi,%ecx
425c3e:	e8 1d 80 fe ff       	call   0x40dc60
425c43:	8b c6                	mov    %esi,%eax
425c45:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425c48:	5f                   	pop    %edi
425c49:	5e                   	pop    %esi
425c4a:	33 cd                	xor    %ebp,%ecx
425c4c:	5b                   	pop    %ebx
425c4d:	e8 de 0e ff ff       	call   0x416b30
425c52:	c9                   	leave
425c53:	c3                   	ret
425c54:	a1 a8 67 43 00       	mov    0x4367a8,%eax
425c59:	ba bf 00 00 00       	mov    $0xbf,%edx
425c5e:	56                   	push   %esi
425c5f:	33 f6                	xor    %esi,%esi
425c61:	46                   	inc    %esi
425c62:	3b c2                	cmp    %edx,%eax
425c64:	0f 87 c6 00 00 00    	ja     0x425d30
425c6a:	0f 84 7f 01 00 00    	je     0x425def
425c70:	83 f8 21             	cmp    $0x21,%eax
425c73:	77 57                	ja     0x425ccc
425c75:	74 26                	je     0x425c9d
425c77:	48                   	dec    %eax
425c78:	2b c6                	sub    %esi,%eax
425c7a:	74 49                	je     0x425cc5
425c7c:	2b c6                	sub    %esi,%eax
425c7e:	74 45                	je     0x425cc5
425c80:	48                   	dec    %eax
425c81:	2b c6                	sub    %esi,%eax
425c83:	74 3c                	je     0x425cc1
425c85:	83 e8 03             	sub    $0x3,%eax
425c88:	74 2f                	je     0x425cb9
425c8a:	48                   	dec    %eax
425c8b:	2b c6                	sub    %esi,%eax
425c8d:	74 20                	je     0x425caf
425c8f:	83 e8 10             	sub    $0x10,%eax
425c92:	74 13                	je     0x425ca7
425c94:	83 e8 06             	sub    $0x6,%eax
425c97:	0f 85 24 01 00 00    	jne    0x425dc1
425c9d:	6a 20                	push   $0x20