57f9bd:	83 c4 0c             	add    $0xc,%esp
57f9c0:	89 7b 34             	mov    %edi,0x34(%ebx)
57f9c3:	5b                   	pop    %ebx
57f9c4:	85 f6                	test   %esi,%esi
57f9c6:	74 07                	je     0x57f9cf
57f9c8:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
57f9cf:	5f                   	pop    %edi
57f9d0:	5e                   	pop    %esi
57f9d1:	c3                   	ret
57f9d2:	cc                   	int3
57f9d3:	cc                   	int3
57f9d4:	cc                   	int3
57f9d5:	cc                   	int3
57f9d6:	cc                   	int3
57f9d7:	cc                   	int3
57f9d8:	cc                   	int3
57f9d9:	cc                   	int3
57f9da:	cc                   	int3
57f9db:	cc                   	int3
57f9dc:	cc                   	int3
57f9dd:	cc                   	int3
57f9de:	cc                   	int3
57f9df:	cc                   	int3
57f9e0:	6a 56                	push   $0x56
57f9e2:	68 ac b6 65 00       	push   $0x65b6ac
57f9e7:	6a 48                	push   $0x48
57f9e9:	e8 52 10 f6 ff       	call   0x4e0a40
57f9ee:	83 c4 0c             	add    $0xc,%esp
57f9f1:	85 c0                	test   %eax,%eax
57f9f3:	75 1b                	jne    0x57fa10
57f9f5:	6a 58                	push   $0x58
57f9f7:	68 ac b6 65 00       	push   $0x65b6ac
57f9fc:	6a 41                	push   $0x41
57f9fe:	68 9f 00 00 00       	push   $0x9f
57fa03:	6a 0b                	push   $0xb
57fa05:	e8 76 95 f5 ff       	call   0x4d8f80
57fa0a:	83 c4 14             	add    $0x14,%esp
57fa0d:	33 c0                	xor    %eax,%eax
57fa0f:	c3                   	ret
57fa10:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
57fa17:	c7 40 20 ff ff ff ff 	movl   $0xffffffff,0x20(%eax)
57fa1e:	c7 40 24 ff ff ff ff 	movl   $0xffffffff,0x24(%eax)
57fa25:	c3                   	ret
57fa26:	cc                   	int3
57fa27:	cc                   	int3
57fa28:	cc                   	int3
57fa29:	cc                   	int3
57fa2a:	cc                   	int3
57fa2b:	cc                   	int3
57fa2c:	cc                   	int3
57fa2d:	cc                   	int3
57fa2e:	cc                   	int3
57fa2f:	cc                   	int3
57fa30:	56                   	push   %esi
57fa31:	57                   	push   %edi
57fa32:	8b 7c 24 0c          	mov    0xc(%esp),%edi
57fa36:	ff 74 24 10          	push   0x10(%esp)
57fa3a:	57                   	push   %edi
57fa3b:	8b 77 10             	mov    0x10(%edi),%esi
57fa3e:	8b c6                	mov    %esi,%eax
57fa40:	83 c8 01             	or     $0x1,%eax
57fa43:	89 47 10             	mov    %eax,0x10(%edi)
57fa46:	e8 05 fc ff ff       	call   0x57f650
57fa4b:	83 c4 08             	add    $0x8,%esp
57fa4e:	89 77 10             	mov    %esi,0x10(%edi)
57fa51:	5f                   	pop    %edi
57fa52:	5e                   	pop    %esi
57fa53:	c3                   	ret
57fa54:	cc                   	int3
57fa55:	cc                   	int3
57fa56:	cc                   	int3
57fa57:	cc                   	int3
57fa58:	cc                   	int3
57fa59:	cc                   	int3
57fa5a:	cc                   	int3
57fa5b:	cc                   	int3
57fa5c:	cc                   	int3
57fa5d:	cc                   	int3
57fa5e:	cc                   	int3
57fa5f:	cc                   	int3
57fa60:	56                   	push   %esi
57fa61:	8b 74 24 10          	mov    0x10(%esp),%esi
57fa65:	85 f6                	test   %esi,%esi
57fa67:	74 0e                	je     0x57fa77
57fa69:	83 fe 04             	cmp    $0x4,%esi
57fa6c:	74 09                	je     0x57fa77
57fa6e:	83 fe 10             	cmp    $0x10,%esi
57fa71:	74 04                	je     0x57fa77
57fa73:	33 c0                	xor    %eax,%eax
57fa75:	5e                   	pop    %esi
57fa76:	c3                   	ret
57fa77:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
57fa7b:	53                   	push   %ebx
57fa7c:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
57fa80:	55                   	push   %ebp
57fa81:	57                   	push   %edi
57fa82:	8d 6b 44             	lea    0x44(%ebx),%ebp
57fa85:	85 c9                	test   %ecx,%ecx
57fa87:	74 31                	je     0x57faba
57fa89:	85 f6                	test   %esi,%esi
57fa8b:	75 0e                	jne    0x57fa9b
57fa8d:	8b f1                	mov    %ecx,%esi
57fa8f:	8d 56 01             	lea    0x1(%esi),%edx
57fa92:	8a 06                	mov    (%esi),%al
57fa94:	46                   	inc    %esi
57fa95:	84 c0                	test   %al,%al
57fa97:	75 f9                	jne    0x57fa92
57fa99:	2b f2                	sub    %edx,%esi
57fa9b:	68 f7 00 00 00       	push   $0xf7
57faa0:	68 ac b6 65 00       	push   $0x65b6ac
57faa5:	56                   	push   %esi
57faa6:	51                   	push   %ecx
57faa7:	e8 c4 25 f6 ff       	call   0x4e2070
57faac:	8b f8                	mov    %eax,%edi
57faae:	83 c4 10             	add    $0x10,%esp
57fab1:	85 ff                	test   %edi,%edi
57fab3:	75 09                	jne    0x57fabe
57fab5:	5f                   	pop    %edi
57fab6:	5d                   	pop    %ebp
57fab7:	5b                   	pop    %ebx
57fab8:	5e                   	pop    %esi
57fab9:	c3                   	ret
57faba:	33 ff                	xor    %edi,%edi
57fabc:	33 f6                	xor    %esi,%esi
57fabe:	68 fe 00 00 00       	push   $0xfe
57fac3:	68 ac b6 65 00       	push   $0x65b6ac
57fac8:	ff 73 40             	push   0x40(%ebx)
57facb:	e8 b0 0c f6 ff       	call   0x4e0780
57fad0:	83 c4 0c             	add    $0xc,%esp
57fad3:	89 7b 40             	mov    %edi,0x40(%ebx)
57fad6:	85 ed                	test   %ebp,%ebp
57fad8:	74 03                	je     0x57fadd
57fada:	89 75 00             	mov    %esi,0x0(%ebp)
57fadd:	5f                   	pop    %edi
57fade:	5d                   	pop    %ebp
57fadf:	5b                   	pop    %ebx
57fae0:	b8 01 00 00 00       	mov    $0x1,%eax
57fae5:	5e                   	pop    %esi
57fae6:	c3                   	ret
57fae7:	cc                   	int3
57fae8:	cc                   	int3
57fae9:	cc                   	int3
57faea:	cc                   	int3
57faeb:	cc                   	int3
57faec:	cc                   	int3
57faed:	cc                   	int3
57faee:	cc                   	int3
57faef:	cc                   	int3
57faf0:	8b 54 24 04          	mov    0x4(%esp),%edx
57faf4:	b8 01 00 00 00       	mov    $0x1,%eax
57faf9:	8b 4a 14             	mov    0x14(%edx),%ecx
57fafc:	0b 4c 24 08          	or     0x8(%esp),%ecx
57fb00:	f7 44 24 08 80 07 00 	testl  $0x780,0x8(%esp)
57fb07:	00
57fb08:	89 4a 14             	mov    %ecx,0x14(%edx)
57fb0b:	74 09                	je     0x57fb16
57fb0d:	81 c9 80 00 00 00    	or     $0x80,%ecx
57fb13:	89 4a 14             	mov    %ecx,0x14(%edx)
57fb16:	c3                   	ret
57fb17:	cc                   	int3
57fb18:	cc                   	int3
57fb19:	cc                   	int3
57fb1a:	cc                   	int3
57fb1b:	cc                   	int3
57fb1c:	cc                   	int3
57fb1d:	cc                   	int3
57fb1e:	cc                   	int3
57fb1f:	cc                   	int3
57fb20:	6a 1c                	push   $0x1c
57fb22:	68 ac b6 65 00       	push   $0x65b6ac
57fb27:	ff 74 24 0c          	push   0xc(%esp)
57fb2b:	e8 a0 25 f6 ff       	call   0x4e20d0
57fb30:	83 c4 0c             	add    $0xc,%esp
57fb33:	c3                   	ret
57fb34:	cc                   	int3
57fb35:	cc                   	int3
57fb36:	cc                   	int3
57fb37:	cc                   	int3
57fb38:	cc                   	int3
57fb39:	cc                   	int3
57fb3a:	cc                   	int3
57fb3b:	cc                   	int3
57fb3c:	cc                   	int3
57fb3d:	cc                   	int3
57fb3e:	cc                   	int3
57fb3f:	cc                   	int3
57fb40:	6a 21                	push   $0x21
57fb42:	68 ac b6 65 00       	push   $0x65b6ac
57fb47:	ff 74 24 0c          	push   0xc(%esp)
57fb4b:	e8 30 0c f6 ff       	call   0x4e0780
57fb50:	83 c4 0c             	add    $0xc,%esp
57fb53:	c3                   	ret
57fb54:	cc                   	int3
57fb55:	cc                   	int3
57fb56:	cc                   	int3
57fb57:	cc                   	int3
57fb58:	cc                   	int3
57fb59:	cc                   	int3
57fb5a:	cc                   	int3
57fb5b:	cc                   	int3
57fb5c:	cc                   	int3
57fb5d:	cc                   	int3
57fb5e:	cc                   	int3
57fb5f:	cc                   	int3
57fb60:	8b 44 24 08          	mov    0x8(%esp),%eax
57fb64:	8b 08                	mov    (%eax),%ecx
57fb66:	8b 44 24 04          	mov    0x4(%esp),%eax
57fb6a:	8b 00                	mov    (%eax),%eax
57fb6c:	0f 1f 40 00          	nopl   0x0(%eax)
57fb70:	8a 10                	mov    (%eax),%dl
57fb72:	3a 11                	cmp    (%ecx),%dl
57fb74:	75 19                	jne    0x57fb8f
57fb76:	84 d2                	test   %dl,%dl
57fb78:	74 12                	je     0x57fb8c
57fb7a:	8a 50 01             	mov    0x1(%eax),%dl
57fb7d:	3a 51 01             	cmp    0x1(%ecx),%dl
57fb80:	75 0d                	jne    0x57fb8f
57fb82:	83 c0 02             	add    $0x2,%eax
57fb85:	83 c1 02             	add    $0x2,%ecx
57fb88:	84 d2                	test   %dl,%dl
57fb8a:	75 e4                	jne    0x57fb70
57fb8c:	33 c0                	xor    %eax,%eax
57fb8e:	c3                   	ret
57fb8f:	1b c0                	sbb    %eax,%eax
57fb91:	83 c8 01             	or     $0x1,%eax
57fb94:	c3                   	ret
57fb95:	cc                   	int3
57fb96:	cc                   	int3
57fb97:	cc                   	int3
57fb98:	cc                   	int3
57fb99:	cc                   	int3
57fb9a:	cc                   	int3
57fb9b:	cc                   	int3
57fb9c:	cc                   	int3
57fb9d:	cc                   	int3
57fb9e:	cc                   	int3
57fb9f:	cc                   	int3
57fba0:	b8 10 00 00 00       	mov    $0x10,%eax
57fba5:	e8 06 1c 05 00       	call   0x5d17b0
57fbaa:	8b 44 24 14          	mov    0x14(%esp),%eax
57fbae:	56                   	push   %esi
57fbaf:	ff 74 24 28          	push   0x28(%esp)
57fbb3:	8b 74 24 20          	mov    0x20(%esp),%esi
57fbb7:	ff 74 24 24          	push   0x24(%esp)
57fbbb:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
57fbc1:	8d 44 24 0c          	lea    0xc(%esp),%eax
57fbc5:	50                   	push   %eax
57fbc6:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
57fbcd:	00
57fbce:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
57fbd5:	00
57fbd6:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
57fbdc:	e8 2f 08 00 00       	call   0x580410
57fbe1:	83 c4 0c             	add    $0xc,%esp
57fbe4:	85 c0                	test   %eax,%eax
57fbe6:	0f 8e 6d 01 00 00    	jle    0x57fd59
57fbec:	53                   	push   %ebx
57fbed:	55                   	push   %ebp
57fbee:	8b e8                	mov    %eax,%ebp
57fbf0:	83 e0 02             	and    $0x2,%eax
57fbf3:	83 e5 04             	and    $0x4,%ebp
57fbf6:	89 6c 24 18          	mov    %ebp,0x18(%esp)
57fbfa:	57                   	push   %edi
57fbfb:	85 ed                	test   %ebp,%ebp
57fbfd:	0f 85 9b 00 00 00    	jne    0x57fc9e
57fc03:	85 c0                	test   %eax,%eax
57fc05:	0f 84 a1 00 00 00    	je     0x57fcac
57fc0b:	8b 7c 24 10          	mov    0x10(%esp),%edi
57fc0f:	85 ff                	test   %edi,%edi
57fc11:	0f 84 b1 02 00 00    	je     0x57fec8
57fc17:	ff 77 0c             	push   0xc(%edi)
57fc1a:	e8 01 53 f6 ff       	call   0x4e4f20
57fc1f:	68 00 00 58 00       	push   $0x580000
57fc24:	ff 77 10             	push   0x10(%edi)
57fc27:	e8 c4 54 f6 ff       	call   0x4e50f0
57fc2c:	8b 37                	mov    (%edi),%esi
57fc2e:	33 db                	xor    %ebx,%ebx
57fc30:	83 c4 0c             	add    $0xc,%esp
57fc33:	39 5f 04             	cmp    %ebx,0x4(%edi)
57fc36:	7e 28                	jle    0x57fc60
57fc38:	ff 36                	push   (%esi)
57fc3a:	e8 a1 75 fd ff       	call   0x5571e0
57fc3f:	68 90 48 58 00       	push   $0x584890
57fc44:	ff 76 04             	push   0x4(%esi)
57fc47:	e8 a4 54 f6 ff       	call   0x4e50f0
57fc4c:	ff 76 08             	push   0x8(%esi)
57fc4f:	e8 3c 4c 00 00       	call   0x584890
57fc54:	43                   	inc    %ebx
57fc55:	8d 76 10             	lea    0x10(%esi),%esi
57fc58:	83 c4 10             	add    $0x10,%esp
57fc5b:	3b 5f 04             	cmp    0x4(%edi),%ebx
57fc5e:	7c d8                	jl     0x57fc38
57fc60:	68 00 bf 57 00       	push   $0x57bf00
57fc65:	ff 77 08             	push   0x8(%edi)
57fc68:	e8 83 54 f6 ff       	call   0x4e50f0
57fc6d:	68 71 02 00 00       	push   $0x271
57fc72:	68 c4 b6 65 00       	push   $0x65b6c4
57fc77:	ff 37                	push   (%edi)
57fc79:	e8 02 0b f6 ff       	call   0x4e0780
57fc7e:	68 72 02 00 00       	push   $0x272
57fc83:	68 c4 b6 65 00       	push   $0x65b6c4
57fc88:	57                   	push   %edi
57fc89:	e8 f2 0a f6 ff       	call   0x4e0780
57fc8e:	83 c4 20             	add    $0x20,%esp
57fc91:	b8 01 00 00 00       	mov    $0x1,%eax
57fc96:	5f                   	pop    %edi
57fc97:	5d                   	pop    %ebp
57fc98:	5b                   	pop    %ebx
57fc99:	5e                   	pop    %esi
57fc9a:	83 c4 10             	add    $0x10,%esp
57fc9d:	c3                   	ret
57fc9e:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
57fca4:	85 c0                	test   %eax,%eax
57fca6:	0f 85 a5 00 00 00    	jne    0x57fd51
57fcac:	8b 74 24 10          	mov    0x10(%esp),%esi
57fcb0:	56                   	push   %esi
57fcb1:	e8 da 04 00 00       	call   0x580190
57fcb6:	83 c4 04             	add    $0x4,%esp
57fcb9:	85 c0                	test   %eax,%eax
57fcbb:	0f 8e 1e 02 00 00    	jle    0x57fedf
57fcc1:	83 f8 02             	cmp    $0x2,%eax
57fcc4:	0f 85 94 00 00 00    	jne    0x57fd5e
57fcca:	85 f6                	test   %esi,%esi
57fccc:	74 7b                	je     0x57fd49
57fcce:	ff 76 0c             	push   0xc(%esi)
57fcd1:	e8 4a 52 f6 ff       	call   0x4e4f20
57fcd6:	68 00 00 58 00       	push   $0x580000
57fcdb:	ff 76 10             	push   0x10(%esi)
57fcde:	e8 0d 54 f6 ff       	call   0x4e50f0
57fce3:	8b 3e                	mov    (%esi),%edi
57fce5:	33 db                	xor    %ebx,%ebx
57fce7:	83 c4 0c             	add    $0xc,%esp
57fcea:	39 5e 04             	cmp    %ebx,0x4(%esi)
57fced:	7e 29                	jle    0x57fd18
57fcef:	90                   	nop
57fcf0:	ff 37                	push   (%edi)
57fcf2:	e8 e9 74 fd ff       	call   0x5571e0
57fcf7:	68 90 48 58 00       	push   $0x584890
57fcfc:	ff 77 04             	push   0x4(%edi)
57fcff:	e8 ec 53 f6 ff       	call   0x4e50f0
57fd04:	ff 77 08             	push   0x8(%edi)
57fd07:	e8 84 4b 00 00       	call   0x584890
57fd0c:	43                   	inc    %ebx
57fd0d:	8d 7f 10             	lea    0x10(%edi),%edi
57fd10:	83 c4 10             	add    $0x10,%esp
57fd13:	3b 5e 04             	cmp    0x4(%esi),%ebx
57fd16:	7c d8                	jl     0x57fcf0
57fd18:	68 00 bf 57 00       	push   $0x57bf00
57fd1d:	ff 76 08             	push   0x8(%esi)
57fd20:	e8 cb 53 f6 ff       	call   0x4e50f0