581c48:	8b f0                	mov    %eax,%esi
581c4a:	83 c4 04             	add    $0x4,%esp
581c4d:	89 75 cc             	mov    %esi,-0x34(%ebp)
581c50:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581c57:	85 f6                	test   %esi,%esi
581c59:	74 29                	je     0x581c84
581c5b:	6a 30                	push   $0x30
581c5d:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
581c63:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
581c6a:	e8 d3 f3 05 00       	call   0x5e1042
581c6f:	83 c4 04             	add    $0x4,%esp
581c72:	89 00                	mov    %eax,(%eax)
581c74:	89 40 04             	mov    %eax,0x4(%eax)
581c77:	89 40 08             	mov    %eax,0x8(%eax)
581c7a:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
581c80:	89 06                	mov    %eax,(%esi)
581c82:	eb 02                	jmp    0x581c86
581c84:	33 f6                	xor    %esi,%esi
581c86:	8d 45 d8             	lea    -0x28(%ebp),%eax
581c89:	89 75 d8             	mov    %esi,-0x28(%ebp)
581c8c:	50                   	push   %eax
581c8d:	8b cf                	mov    %edi,%ecx
581c8f:	e8 5c 03 00 00       	call   0x581ff0
581c94:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581c97:	e8 e4 e3 ff ff       	call   0x580080
581c9c:	8b 45 08             	mov    0x8(%ebp),%eax
581c9f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
581ca2:	2b d8                	sub    %eax,%ebx
581ca4:	89 45 d0             	mov    %eax,-0x30(%ebp)
581ca7:	c1 e3 02             	shl    $0x2,%ebx
581caa:	83 cb 02             	or     $0x2,%ebx
581cad:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
581cb0:	8b 0f                	mov    (%edi),%ecx
581cb2:	8d 45 d0             	lea    -0x30(%ebp),%eax
581cb5:	50                   	push   %eax
581cb6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
581cb9:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
581cc0:	50                   	push   %eax
581cc1:	e8 fa d8 ff ff       	call   0x57f5c0
581cc6:	8b 70 08             	mov    0x8(%eax),%esi
581cc9:	8b 07                	mov    (%edi),%eax
581ccb:	3b 30                	cmp    (%eax),%esi
581ccd:	74 10                	je     0x581cdf
581ccf:	8d 45 d0             	lea    -0x30(%ebp),%eax
581cd2:	8d 4e 10             	lea    0x10(%esi),%ecx
581cd5:	50                   	push   %eax
581cd6:	e8 95 e4 ff ff       	call   0x580170
581cdb:	84 c0                	test   %al,%al
581cdd:	75 61                	jne    0x581d40
581cdf:	e8 2c fc ff ff       	call   0x581910
581ce4:	50                   	push   %eax
581ce5:	8d 45 d0             	lea    -0x30(%ebp),%eax
581ce8:	50                   	push   %eax
581ce9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
581cec:	e8 0f d5 ff ff       	call   0x57f200
581cf1:	8b 0f                	mov    (%edi),%ecx
581cf3:	8d 45 ac             	lea    -0x54(%ebp),%eax
581cf6:	50                   	push   %eax
581cf7:	56                   	push   %esi
581cf8:	8d 45 cc             	lea    -0x34(%ebp),%eax
581cfb:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
581cff:	50                   	push   %eax
581d00:	e8 cb d9 ff ff       	call   0x57f6d0
581d05:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
581d08:	8b 30                	mov    (%eax),%esi
581d0a:	e8 71 e3 ff ff       	call   0x580080
581d0f:	8b 4d ac             	mov    -0x54(%ebp),%ecx
581d12:	85 c9                	test   %ecx,%ecx
581d14:	74 12                	je     0x581d28
581d16:	8b 45 b0             	mov    -0x50(%ebp),%eax
581d19:	24 03                	and    $0x3,%al
581d1b:	3c 01                	cmp    $0x1,%al
581d1d:	75 09                	jne    0x581d28
581d1f:	51                   	push   %ecx
581d20:	e8 4b c9 06 00       	call   0x5ee670
581d25:	83 c4 04             	add    $0x4,%esp
581d28:	8b 45 08             	mov    0x8(%ebp),%eax
581d2b:	85 c0                	test   %eax,%eax
581d2d:	74 11                	je     0x581d40
581d2f:	80 e3 03             	and    $0x3,%bl
581d32:	80 fb 01             	cmp    $0x1,%bl
581d35:	75 09                	jne    0x581d40
581d37:	50                   	push   %eax
581d38:	e8 33 c9 06 00       	call   0x5ee670
581d3d:	83 c4 04             	add    $0x4,%esp
581d40:	8d 46 18             	lea    0x18(%esi),%eax
581d43:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581d46:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581d4d:	59                   	pop    %ecx
581d4e:	5f                   	pop    %edi
581d4f:	5e                   	pop    %esi
581d50:	5b                   	pop    %ebx
581d51:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581d54:	33 cd                	xor    %ebp,%ecx
581d56:	e8 7f f7 05 00       	call   0x5e14da
581d5b:	8b e5                	mov    %ebp,%esp
581d5d:	5d                   	pop    %ebp
581d5e:	c2 08 00             	ret    $0x8
581d61:	6a 01                	push   $0x1
581d63:	6a 02                	push   $0x2
581d65:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
581d6b:	e8 c0 cf ff ff       	call   0x57ed30
581d70:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
581d76:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
581d7d:	68 a8 33 6c 00       	push   $0x6c33a8
581d82:	50                   	push   %eax
581d83:	e8 38 95 f1 ff       	call   0x49b2c0
581d88:	83 c4 08             	add    $0x8,%esp
581d8b:	8d 45 d8             	lea    -0x28(%ebp),%eax
581d8e:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
581d94:	50                   	push   %eax
581d95:	e8 16 d1 ff ff       	call   0x57eeb0
581d9a:	50                   	push   %eax
581d9b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
581d9f:	e8 1c 03 00 00       	call   0x5820c0
581da4:	cc                   	int3
581da5:	cc                   	int3
581da6:	cc                   	int3
581da7:	cc                   	int3
581da8:	cc                   	int3
581da9:	cc                   	int3
581daa:	cc                   	int3
581dab:	cc                   	int3
581dac:	cc                   	int3
581dad:	cc                   	int3
581dae:	cc                   	int3
581daf:	cc                   	int3
581db0:	55                   	push   %ebp
581db1:	8b ec                	mov    %esp,%ebp
581db3:	6a ff                	push   $0xffffffff
581db5:	68 bb ce 65 00       	push   $0x65cebb
581dba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
581dc0:	50                   	push   %eax
581dc1:	81 ec cc 00 00 00    	sub    $0xcc,%esp
581dc7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
581dcc:	33 c5                	xor    %ebp,%eax
581dce:	89 45 f0             	mov    %eax,-0x10(%ebp)
581dd1:	53                   	push   %ebx
581dd2:	56                   	push   %esi
581dd3:	57                   	push   %edi
581dd4:	50                   	push   %eax
581dd5:	8d 45 f4             	lea    -0xc(%ebp),%eax
581dd8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
581dde:	8b f9                	mov    %ecx,%edi
581de0:	8b 07                	mov    (%edi),%eax
581de2:	8b 75 08             	mov    0x8(%ebp),%esi
581de5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
581de8:	85 c0                	test   %eax,%eax
581dea:	74 0f                	je     0x581dfb
581dec:	50                   	push   %eax
581ded:	e8 7e c8 06 00       	call   0x5ee670
581df2:	83 c4 04             	add    $0x4,%esp
581df5:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
581dfb:	85 f6                	test   %esi,%esi
581dfd:	74 34                	je     0x581e33
581dff:	8a 06                	mov    (%esi),%al
581e01:	84 c0                	test   %al,%al
581e03:	74 04                	je     0x581e09
581e05:	3c 2f                	cmp    $0x2f,%al
581e07:	75 47                	jne    0x581e50
581e09:	53                   	push   %ebx
581e0a:	56                   	push   %esi
581e0b:	e8 70 f4 ff ff       	call   0x581280
581e10:	83 c4 08             	add    $0x8,%esp
581e13:	89 07                	mov    %eax,(%edi)
581e15:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581e18:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581e1f:	59                   	pop    %ecx
581e20:	5f                   	pop    %edi
581e21:	5e                   	pop    %esi
581e22:	5b                   	pop    %ebx
581e23:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581e26:	33 cd                	xor    %ebp,%ecx
581e28:	e8 ad f6 05 00       	call   0x5e14da
581e2d:	8b e5                	mov    %ebp,%esp
581e2f:	5d                   	pop    %ebp
581e30:	c2 08 00             	ret    $0x8
581e33:	68 88 30 6c 00       	push   $0x6c3088
581e38:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581e3b:	e8 30 7c ee ff       	call   0x469a70
581e40:	8d 45 d8             	lea    -0x28(%ebp),%eax
581e43:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
581e4a:	50                   	push   %eax
581e4b:	e8 70 02 00 00       	call   0x5820c0
581e50:	6a 01                	push   $0x1
581e52:	6a 02                	push   $0x2
581e54:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
581e5a:	e8 d1 ce ff ff       	call   0x57ed30
581e5f:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
581e65:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
581e6c:	68 9c 30 6c 00       	push   $0x6c309c
581e71:	50                   	push   %eax
581e72:	e8 49 94 f1 ff       	call   0x49b2c0
581e77:	83 c4 08             	add    $0x8,%esp
581e7a:	8d 45 c0             	lea    -0x40(%ebp),%eax
581e7d:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
581e83:	50                   	push   %eax
581e84:	e8 27 d0 ff ff       	call   0x57eeb0
581e89:	50                   	push   %eax
581e8a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
581e8e:	e8 2d 02 00 00       	call   0x5820c0
581e93:	cc                   	int3
581e94:	cc                   	int3
581e95:	cc                   	int3
581e96:	cc                   	int3
581e97:	cc                   	int3
581e98:	cc                   	int3
581e99:	cc                   	int3
581e9a:	cc                   	int3
581e9b:	cc                   	int3
581e9c:	cc                   	int3
581e9d:	cc                   	int3
581e9e:	cc                   	int3
581e9f:	cc                   	int3
581ea0:	55                   	push   %ebp
581ea1:	8b ec                	mov    %esp,%ebp
581ea3:	8b 45 08             	mov    0x8(%ebp),%eax
581ea6:	8b d0                	mov    %eax,%edx
581ea8:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
581eac:	72 02                	jb     0x581eb0
581eae:	8b 10                	mov    (%eax),%edx
581eb0:	ff 75 0c             	push   0xc(%ebp)
581eb3:	ff 70 10             	push   0x10(%eax)
581eb6:	52                   	push   %edx
581eb7:	e8 04 00 00 00       	call   0x581ec0
581ebc:	5d                   	pop    %ebp
581ebd:	c2 08 00             	ret    $0x8
581ec0:	55                   	push   %ebp
581ec1:	8b ec                	mov    %esp,%ebp
581ec3:	6a ff                	push   $0xffffffff
581ec5:	68 ff ce 65 00       	push   $0x65ceff
581eca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
581ed0:	50                   	push   %eax
581ed1:	51                   	push   %ecx
581ed2:	56                   	push   %esi
581ed3:	57                   	push   %edi
581ed4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
581ed9:	33 c5                	xor    %ebp,%eax
581edb:	50                   	push   %eax
581edc:	8d 45 f4             	lea    -0xc(%ebp),%eax
581edf:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
581ee5:	8b f9                	mov    %ecx,%edi
581ee7:	8b 77 0c             	mov    0xc(%edi),%esi
581eea:	85 f6                	test   %esi,%esi
581eec:	75 3f                	jne    0x581f2d
581eee:	6a 10                	push   $0x10
581ef0:	e8 8b f1 05 00       	call   0x5e1080
581ef5:	83 c4 04             	add    $0x4,%esp
581ef8:	89 45 f0             	mov    %eax,-0x10(%ebp)
581efb:	89 75 fc             	mov    %esi,-0x4(%ebp)
581efe:	85 c0                	test   %eax,%eax
581f00:	74 1f                	je     0x581f21
581f02:	68 f0 ff 57 00       	push   $0x57fff0
581f07:	68 d0 f7 57 00       	push   $0x57f7d0
581f0c:	6a 03                	push   $0x3
581f0e:	8d 70 04             	lea    0x4(%eax),%esi
581f11:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
581f17:	6a 04                	push   $0x4
581f19:	56                   	push   %esi
581f1a:	e8 60 05 06 00       	call   0x5e247f
581f1f:	eb 02                	jmp    0x581f23
581f21:	33 f6                	xor    %esi,%esi
581f23:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
581f2a:	89 77 0c             	mov    %esi,0xc(%edi)
581f2d:	8b 45 0c             	mov    0xc(%ebp),%eax
581f30:	8b 4d 08             	mov    0x8(%ebp),%ecx
581f33:	85 c0                	test   %eax,%eax
581f35:	74 08                	je     0x581f3f
581f37:	80 7c 01 ff 0a       	cmpb   $0xa,-0x1(%ecx,%eax,1)
581f3c:	75 01                	jne    0x581f3f
581f3e:	48                   	dec    %eax
581f3f:	50                   	push   %eax
581f40:	8b 45 10             	mov    0x10(%ebp),%eax
581f43:	51                   	push   %ecx
581f44:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
581f47:	e8 64 fe ff ff       	call   0x581db0
581f4c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581f4f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581f56:	59                   	pop    %ecx
581f57:	5f                   	pop    %edi
581f58:	5e                   	pop    %esi
581f59:	8b e5                	mov    %ebp,%esp
581f5b:	5d                   	pop    %ebp
581f5c:	c2 0c 00             	ret    $0xc
581f5f:	cc                   	int3
581f60:	55                   	push   %ebp
581f61:	8b ec                	mov    %esp,%ebp
581f63:	8b 45 08             	mov    0x8(%ebp),%eax
581f66:	89 41 14             	mov    %eax,0x14(%ecx)
581f69:	5d                   	pop    %ebp
581f6a:	c2 04 00             	ret    $0x4
581f6d:	cc                   	int3
581f6e:	cc                   	int3
581f6f:	cc                   	int3
581f70:	55                   	push   %ebp
581f71:	8b ec                	mov    %esp,%ebp
581f73:	8b 45 08             	mov    0x8(%ebp),%eax
581f76:	89 41 10             	mov    %eax,0x10(%ecx)
581f79:	5d                   	pop    %ebp
581f7a:	c2 04 00             	ret    $0x4
581f7d:	cc                   	int3
581f7e:	cc                   	int3
581f7f:	cc                   	int3
581f80:	55                   	push   %ebp
581f81:	8b ec                	mov    %esp,%ebp
581f83:	51                   	push   %ecx
581f84:	0f be 41 08          	movsbl 0x8(%ecx),%eax
581f88:	83 f8 07             	cmp    $0x7,%eax
581f8b:	77 30                	ja     0x581fbd
581f8d:	ff 24 85 c4 1f 58 00 	jmp    *0x581fc4(,%eax,4)
581f94:	8b 01                	mov    (%ecx),%eax
581f96:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
581f9a:	74 21                	je     0x581fbd
581f9c:	8b 00                	mov    (%eax),%eax
581f9e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
581fa1:	89 45 fc             	mov    %eax,-0x4(%ebp)
581fa4:	e8 87 e7 ff ff       	call   0x580730
581fa9:	8b 45 fc             	mov    -0x4(%ebp),%eax
581fac:	8b 40 14             	mov    0x14(%eax),%eax
581faf:	40                   	inc    %eax
581fb0:	8b e5                	mov    %ebp,%esp
581fb2:	5d                   	pop    %ebp
581fb3:	c3                   	ret
581fb4:	8b 01                	mov    (%ecx),%eax
581fb6:	8b 40 04             	mov    0x4(%eax),%eax
581fb9:	8b e5                	mov    %ebp,%esp
581fbb:	5d                   	pop    %ebp
581fbc:	c3                   	ret
581fbd:	33 c0                	xor    %eax,%eax
581fbf:	8b e5                	mov    %ebp,%esp
581fc1:	5d                   	pop    %ebp
581fc2:	c3                   	ret
581fc3:	90                   	nop
581fc4:	bd 1f 58 00 bd       	mov    $0xbd00581f,%ebp
581fc9:	1f                   	pop    %ds
581fca:	58                   	pop    %eax
581fcb:	00 bd 1f 58 00 bd    	add    %bh,-0x42ffa7e1(%ebp)
581fd1:	1f                   	pop    %ds
581fd2:	58                   	pop    %eax
581fd3:	00 bd 1f 58 00 bd    	add    %bh,-0x42ffa7e1(%ebp)
581fd9:	1f                   	pop    %ds
581fda:	58                   	pop    %eax
581fdb:	00 94 1f 58 00 b4 1f 	add    %dl,0x1fb40058(%edi,%ebx,1)
581fe2:	58                   	pop    %eax
581fe3:	00 cc                	add    %cl,%ah
581fe5:	cc                   	int3
581fe6:	cc                   	int3
581fe7:	cc                   	int3
581fe8:	cc                   	int3
581fe9:	cc                   	int3