58cd52:	85 c0                	test   %eax,%eax
58cd54:	0f 88 bb 00 00 00    	js     0x58ce15
58cd5a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58cd5e:	03 e8                	add    %eax,%ebp
58cd60:	8b 54 24 1c          	mov    0x1c(%esp),%edx
58cd64:	8b 44 24 14          	mov    0x14(%esp),%eax
58cd68:	3b 6c 24 20          	cmp    0x20(%esp),%ebp
58cd6c:	75 0d                	jne    0x58cd7b
58cd6e:	f6 44 24 58 01       	testb  $0x1,0x58(%esp)
58cd73:	0f b6 db             	movzbl %bl,%ebx
58cd76:	0f 45 5c 24 28       	cmovne 0x28(%esp),%ebx
58cd7b:	f6 44 24 54 08       	testb  $0x8,0x54(%esp)
58cd80:	74 77                	je     0x58cdf9
58cd82:	51                   	push   %ecx
58cd83:	8d 44 24 40          	lea    0x40(%esp),%eax
58cd87:	6a 06                	push   $0x6
58cd89:	50                   	push   %eax
58cd8a:	e8 a1 8f 00 00       	call   0x595d30
58cd8f:	83 c4 0c             	add    $0xc,%esp
58cd92:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58cd96:	33 f6                	xor    %esi,%esi
58cd98:	85 c0                	test   %eax,%eax
58cd9a:	7e 3e                	jle    0x58cdda
58cd9c:	8a c3                	mov    %bl,%al
58cd9e:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
58cda2:	0a 44 24 58          	or     0x58(%esp),%al
58cda6:	89 44 24 30          	mov    %eax,0x30(%esp)
58cdaa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
58cdb0:	ff 74 24 18          	push   0x18(%esp)
58cdb4:	ff 74 24 20          	push   0x20(%esp)
58cdb8:	ff 74 24 1c          	push   0x1c(%esp)
58cdbc:	50                   	push   %eax
58cdbd:	0f b6 44 34 4c       	movzbl 0x4c(%esp,%esi,1),%eax
58cdc2:	50                   	push   %eax
58cdc3:	e8 68 01 00 00       	call   0x58cf30
58cdc8:	83 c4 14             	add    $0x14,%esp
58cdcb:	85 c0                	test   %eax,%eax
58cdcd:	78 46                	js     0x58ce15
58cdcf:	03 f8                	add    %eax,%edi
58cdd1:	46                   	inc    %esi
58cdd2:	8b 44 24 30          	mov    0x30(%esp),%eax
58cdd6:	3b f3                	cmp    %ebx,%esi
58cdd8:	7c d6                	jl     0x58cdb0
58cdda:	8b 74 24 18          	mov    0x18(%esp),%esi
58cdde:	3b 6c 24 20          	cmp    0x20(%esp),%ebp
58cde2:	74 47                	je     0x58ce2b
58cde4:	8b 44 24 14          	mov    0x14(%esp),%eax
58cde8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
58cdec:	8b 4c 24 34          	mov    0x34(%esp),%ecx
58cdf0:	8b 5c 24 38          	mov    0x38(%esp),%ebx
58cdf4:	e9 cd fe ff ff       	jmp    0x58ccc6
58cdf9:	0a 5c 24 58          	or     0x58(%esp),%bl
58cdfd:	56                   	push   %esi
58cdfe:	52                   	push   %edx
58cdff:	50                   	push   %eax
58ce00:	0f b6 c3             	movzbl %bl,%eax
58ce03:	50                   	push   %eax
58ce04:	51                   	push   %ecx
58ce05:	e8 26 01 00 00       	call   0x58cf30
58ce0a:	83 c4 14             	add    $0x14,%esp
58ce0d:	85 c0                	test   %eax,%eax
58ce0f:	78 04                	js     0x58ce15
58ce11:	03 f8                	add    %eax,%edi
58ce13:	eb c9                	jmp    0x58cdde
58ce15:	5f                   	pop    %edi
58ce16:	5e                   	pop    %esi
58ce17:	5d                   	pop    %ebp
58ce18:	83 c8 ff             	or     $0xffffffff,%eax
58ce1b:	5b                   	pop    %ebx
58ce1c:	8b 4c 24 34          	mov    0x34(%esp),%ecx
58ce20:	33 cc                	xor    %esp,%ecx
58ce22:	e8 b3 46 05 00       	call   0x5e14da
58ce27:	83 c4 38             	add    $0x38,%esp
58ce2a:	c3                   	ret
58ce2b:	8b 4c 24 44          	mov    0x44(%esp),%ecx
58ce2f:	8b c7                	mov    %edi,%eax
58ce31:	5f                   	pop    %edi
58ce32:	5e                   	pop    %esi
58ce33:	5d                   	pop    %ebp
58ce34:	5b                   	pop    %ebx
58ce35:	33 cc                	xor    %esp,%ecx
58ce37:	e8 9e 46 05 00       	call   0x5e14da
58ce3c:	83 c4 38             	add    $0x38,%esp
58ce3f:	c3                   	ret
58ce40:	40                   	inc    %eax
58ce41:	cd 58                	int    $0x58
58ce43:	00 35 cd 58 00 1b    	add    %dh,0x1b0058cd
58ce49:	cd 58                	int    $0x58
58ce4b:	00 15 ce 58 00 e7    	add    %dl,0xe70058ce
58ce51:	cc                   	int3
58ce52:	58                   	pop    %eax
58ce53:	00 cc                	add    %cl,%ah
58ce55:	cc                   	int3
58ce56:	cc                   	int3
58ce57:	cc                   	int3
58ce58:	cc                   	int3
58ce59:	cc                   	int3
58ce5a:	cc                   	int3
58ce5b:	cc                   	int3
58ce5c:	cc                   	int3
58ce5d:	cc                   	int3
58ce5e:	cc                   	int3
58ce5f:	cc                   	int3
58ce60:	b8 08 00 00 00       	mov    $0x8,%eax
58ce65:	e8 86 46 05 00       	call   0x5e14f0
58ce6a:	56                   	push   %esi
58ce6b:	8b 74 24 18          	mov    0x18(%esp),%esi
58ce6f:	57                   	push   %edi
58ce70:	8b 7c 24 18          	mov    0x18(%esp),%edi
58ce74:	6a 01                	push   $0x1
58ce76:	68 c0 6a 6c 00       	push   $0x6c6ac0
58ce7b:	56                   	push   %esi
58ce7c:	ff d7                	call   *%edi
58ce7e:	83 c4 0c             	add    $0xc,%esp
58ce81:	85 c0                	test   %eax,%eax
58ce83:	75 09                	jne    0x58ce8e
58ce85:	5f                   	pop    %edi
58ce86:	83 c8 ff             	or     $0xffffffff,%eax
58ce89:	5e                   	pop    %esi
58ce8a:	83 c4 08             	add    $0x8,%esp
58ce8d:	c3                   	ret
58ce8e:	f7 44 24 14 00 02 00 	testl  $0x200,0x14(%esp)
58ce95:	00
58ce96:	75 1e                	jne    0x58ceb6
58ce98:	8b 44 24 20          	mov    0x20(%esp),%eax
58ce9c:	ff 30                	push   (%eax)
58ce9e:	ff 70 08             	push   0x8(%eax)
58cea1:	56                   	push   %esi
58cea2:	57                   	push   %edi
58cea3:	e8 58 02 00 00       	call   0x58d100
58cea8:	83 c4 10             	add    $0x10,%esp
58ceab:	85 c0                	test   %eax,%eax
58cead:	78 d6                	js     0x58ce85
58ceaf:	5f                   	pop    %edi
58ceb0:	40                   	inc    %eax
58ceb1:	5e                   	pop    %esi
58ceb2:	83 c4 08             	add    $0x8,%esp
58ceb5:	c3                   	ret
58ceb6:	8b 4c 24 20          	mov    0x20(%esp),%ecx
58ceba:	53                   	push   %ebx
58cebb:	55                   	push   %ebp
58cebc:	6a 00                	push   $0x0
58cebe:	8b 41 04             	mov    0x4(%ecx),%eax
58cec1:	89 44 24 14          	mov    %eax,0x14(%esp)
58cec5:	8d 44 24 14          	lea    0x14(%esp),%eax
58cec9:	50                   	push   %eax
58ceca:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
58cece:	e8 4d 6f f2 ff       	call   0x4b3e20
58ced3:	68 3d 01 00 00       	push   $0x13d
58ced8:	8b e8                	mov    %eax,%ebp
58ceda:	68 c4 6a 6c 00       	push   $0x6c6ac4
58cedf:	55                   	push   %ebp
58cee0:	e8 cb 32 f1 ff       	call   0x4a01b0
58cee5:	8b d8                	mov    %eax,%ebx
58cee7:	83 c4 14             	add    $0x14,%esp
58ceea:	85 db                	test   %ebx,%ebx
58ceec:	74 2b                	je     0x58cf19
58ceee:	8d 44 24 20          	lea    0x20(%esp),%eax
58cef2:	89 5c 24 20          	mov    %ebx,0x20(%esp)
58cef6:	50                   	push   %eax
58cef7:	8d 44 24 14          	lea    0x14(%esp),%eax
58cefb:	50                   	push   %eax
58cefc:	e8 1f 6f f2 ff       	call   0x4b3e20
58cf01:	55                   	push   %ebp
58cf02:	53                   	push   %ebx
58cf03:	56                   	push   %esi
58cf04:	57                   	push   %edi
58cf05:	e8 f6 01 00 00       	call   0x58d100
58cf0a:	53                   	push   %ebx
58cf0b:	8b f0                	mov    %eax,%esi
58cf0d:	e8 1e 32 f1 ff       	call   0x4a0130
58cf12:	83 c4 1c             	add    $0x1c,%esp
58cf15:	85 f6                	test   %esi,%esi
58cf17:	79 0b                	jns    0x58cf24
58cf19:	5d                   	pop    %ebp
58cf1a:	5b                   	pop    %ebx
58cf1b:	5f                   	pop    %edi
58cf1c:	83 c8 ff             	or     $0xffffffff,%eax
58cf1f:	5e                   	pop    %esi
58cf20:	83 c4 08             	add    $0x8,%esp
58cf23:	c3                   	ret
58cf24:	5d                   	pop    %ebp
58cf25:	5b                   	pop    %ebx
58cf26:	5f                   	pop    %edi
58cf27:	8d 46 01             	lea    0x1(%esi),%eax
58cf2a:	5e                   	pop    %esi
58cf2b:	83 c4 08             	add    $0x8,%esp
58cf2e:	c3                   	ret
58cf2f:	cc                   	int3
58cf30:	b8 14 00 00 00       	mov    $0x14,%eax
58cf35:	e8 b6 45 05 00       	call   0x5e14f0
58cf3a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58cf3f:	33 c4                	xor    %esp,%eax
58cf41:	89 44 24 10          	mov    %eax,0x10(%esp)
58cf45:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58cf49:	53                   	push   %ebx
58cf4a:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58cf4e:	56                   	push   %esi
58cf4f:	8b 74 24 2c          	mov    0x2c(%esp),%esi
58cf53:	57                   	push   %edi
58cf54:	8b 7c 24 34          	mov    0x34(%esp),%edi
58cf58:	83 f9 ff             	cmp    $0xffffffff,%ecx
58cf5b:	76 15                	jbe    0x58cf72
58cf5d:	5f                   	pop    %edi
58cf5e:	5e                   	pop    %esi
58cf5f:	83 c8 ff             	or     $0xffffffff,%eax
58cf62:	5b                   	pop    %ebx
58cf63:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58cf67:	33 cc                	xor    %esp,%ecx
58cf69:	e8 6c 45 05 00       	call   0x5e14da
58cf6e:	83 c4 14             	add    $0x14,%esp
58cf71:	c3                   	ret
58cf72:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
58cf78:	76 39                	jbe    0x58cfb3
58cf7a:	51                   	push   %ecx
58cf7b:	68 a0 6a 6c 00       	push   $0x6c6aa0
58cf80:	8d 44 24 18          	lea    0x18(%esp),%eax
58cf84:	6a 0b                	push   $0xb
58cf86:	50                   	push   %eax
58cf87:	e8 64 1f f2 ff       	call   0x4aeef0
58cf8c:	6a 0a                	push   $0xa
58cf8e:	8d 44 24 24          	lea    0x24(%esp),%eax
58cf92:	50                   	push   %eax
58cf93:	57                   	push   %edi
58cf94:	ff d6                	call   *%esi
58cf96:	83 c4 1c             	add    $0x1c,%esp
58cf99:	f7 d8                	neg    %eax
58cf9b:	1b c0                	sbb    %eax,%eax
58cf9d:	83 e0 0b             	and    $0xb,%eax
58cfa0:	5f                   	pop    %edi
58cfa1:	5e                   	pop    %esi
58cfa2:	48                   	dec    %eax
58cfa3:	5b                   	pop    %ebx
58cfa4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58cfa8:	33 cc                	xor    %esp,%ecx
58cfaa:	e8 2b 45 05 00       	call   0x5e14da
58cfaf:	83 c4 14             	add    $0x14,%esp
58cfb2:	c3                   	ret
58cfb3:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
58cfb9:	76 39                	jbe    0x58cff4
58cfbb:	51                   	push   %ecx
58cfbc:	68 a8 6a 6c 00       	push   $0x6c6aa8
58cfc1:	8d 44 24 18          	lea    0x18(%esp),%eax
58cfc5:	6a 0b                	push   $0xb
58cfc7:	50                   	push   %eax
58cfc8:	e8 23 1f f2 ff       	call   0x4aeef0
58cfcd:	6a 06                	push   $0x6
58cfcf:	8d 44 24 24          	lea    0x24(%esp),%eax
58cfd3:	50                   	push   %eax
58cfd4:	57                   	push   %edi
58cfd5:	ff d6                	call   *%esi
58cfd7:	83 c4 1c             	add    $0x1c,%esp
58cfda:	f7 d8                	neg    %eax
58cfdc:	1b c0                	sbb    %eax,%eax
58cfde:	83 e0 07             	and    $0x7,%eax
58cfe1:	5f                   	pop    %edi
58cfe2:	5e                   	pop    %esi
58cfe3:	48                   	dec    %eax
58cfe4:	5b                   	pop    %ebx
58cfe5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58cfe9:	33 cc                	xor    %esp,%ecx
58cfeb:	e8 ea 44 05 00       	call   0x5e14da
58cff0:	83 c4 14             	add    $0x14,%esp
58cff3:	c3                   	ret
58cff4:	8a 54 24 28          	mov    0x28(%esp),%dl
58cff8:	88 4c 24 0f          	mov    %cl,0xf(%esp)
58cffc:	80 f9 7f             	cmp    $0x7f,%cl
58cfff:	76 06                	jbe    0x58d007
58d001:	8a c2                	mov    %dl,%al
58d003:	24 04                	and    $0x4,%al
58d005:	eb 0b                	jmp    0x58d012
58d007:	0f b6 c1             	movzbl %cl,%eax
58d00a:	8a 80 20 6a 6c 00    	mov    0x6c6a20(%eax),%al
58d010:	22 c2                	and    %dl,%al
58d012:	a8 61                	test   $0x61,%al
58d014:	74 6e                	je     0x58d084
58d016:	a8 08                	test   $0x8,%al
58d018:	74 2e                	je     0x58d048
58d01a:	85 db                	test   %ebx,%ebx
58d01c:	74 03                	je     0x58d021
58d01e:	c6 03 01             	movb   $0x1,(%ebx)
58d021:	6a 01                	push   $0x1
58d023:	8d 44 24 13          	lea    0x13(%esp),%eax
58d027:	50                   	push   %eax
58d028:	57                   	push   %edi
58d029:	ff d6                	call   *%esi
58d02b:	83 c4 0c             	add    $0xc,%esp
58d02e:	f7 d8                	neg    %eax
58d030:	1b c0                	sbb    %eax,%eax
58d032:	83 e0 02             	and    $0x2,%eax
58d035:	5f                   	pop    %edi
58d036:	5e                   	pop    %esi
58d037:	48                   	dec    %eax
58d038:	5b                   	pop    %ebx
58d039:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58d03d:	33 cc                	xor    %esp,%ecx
58d03f:	e8 96 44 05 00       	call   0x5e14da
58d044:	83 c4 14             	add    $0x14,%esp
58d047:	c3                   	ret
58d048:	6a 01                	push   $0x1
58d04a:	68 b0 6a 6c 00       	push   $0x6c6ab0
58d04f:	57                   	push   %edi
58d050:	ff d6                	call   *%esi
58d052:	83 c4 0c             	add    $0xc,%esp
58d055:	85 c0                	test   %eax,%eax
58d057:	0f 84 00 ff ff ff    	je     0x58cf5d
58d05d:	6a 01                	push   $0x1
58d05f:	8d 44 24 13          	lea    0x13(%esp),%eax
58d063:	50                   	push   %eax
58d064:	57                   	push   %edi
58d065:	ff d6                	call   *%esi
58d067:	83 c4 0c             	add    $0xc,%esp
58d06a:	f7 d8                	neg    %eax
58d06c:	1b c0                	sbb    %eax,%eax
58d06e:	83 e0 03             	and    $0x3,%eax
58d071:	5f                   	pop    %edi
58d072:	5e                   	pop    %esi
58d073:	48                   	dec    %eax
58d074:	5b                   	pop    %ebx
58d075:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58d079:	33 cc                	xor    %esp,%ecx
58d07b:	e8 5a 44 05 00       	call   0x5e14da
58d080:	83 c4 14             	add    $0x14,%esp
58d083:	c3                   	ret
58d084:	a8 06                	test   $0x6,%al
58d086:	74 3c                	je     0x58d0c4
58d088:	0f b6 c1             	movzbl %cl,%eax
58d08b:	50                   	push   %eax
58d08c:	68 b4 6a 6c 00       	push   $0x6c6ab4
58d091:	8d 44 24 18          	lea    0x18(%esp),%eax
58d095:	6a 0b                	push   $0xb
58d097:	50                   	push   %eax
58d098:	e8 53 1e f2 ff       	call   0x4aeef0
58d09d:	6a 03                	push   $0x3
58d09f:	8d 44 24 24          	lea    0x24(%esp),%eax
58d0a3:	50                   	push   %eax
58d0a4:	57                   	push   %edi
58d0a5:	ff d6                	call   *%esi
58d0a7:	83 c4 1c             	add    $0x1c,%esp
58d0aa:	f7 d8                	neg    %eax
58d0ac:	1b c0                	sbb    %eax,%eax
58d0ae:	83 e0 04             	and    $0x4,%eax
58d0b1:	5f                   	pop    %edi
58d0b2:	5e                   	pop    %esi
58d0b3:	48                   	dec    %eax
58d0b4:	5b                   	pop    %ebx
58d0b5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58d0b9:	33 cc                	xor    %esp,%ecx
58d0bb:	e8 1a 44 05 00       	call   0x5e14da
58d0c0:	83 c4 14             	add    $0x14,%esp