57dd8b:	03 c6                	add    %esi,%eax
57dd8d:	50                   	push   %eax
57dd8e:	53                   	push   %ebx
57dd8f:	e8 2c b7 f7 ff       	call   0x4f94c0
57dd94:	8b d8                	mov    %eax,%ebx
57dd96:	83 c4 0c             	add    $0xc,%esp
57dd99:	85 db                	test   %ebx,%ebx
57dd9b:	0f 8e b3 00 00 00    	jle    0x57de54
57dda1:	01 5e 04             	add    %ebx,0x4(%esi)
57dda4:	2b fb                	sub    %ebx,%edi
57dda6:	8b 46 04             	mov    0x4(%esi),%eax
57dda9:	8b 5c 24 10          	mov    0x10(%esp),%ebx
57ddad:	85 ff                	test   %edi,%edi
57ddaf:	7f d6                	jg     0x57dd87
57ddb1:	8b 44 24 20          	mov    0x20(%esp),%eax
57ddb5:	85 c0                	test   %eax,%eax
57ddb7:	0f 84 ff 00 00 00    	je     0x57debc
57ddbd:	85 ed                	test   %ebp,%ebp
57ddbf:	0f 8e f7 00 00 00    	jle    0x57debc
57ddc5:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
57ddcc:	ba 00 10 00 00       	mov    $0x1000,%edx
57ddd1:	8d 4e 20             	lea    0x20(%esi),%ecx
57ddd4:	3b ea                	cmp    %edx,%ebp
57ddd6:	8b fd                	mov    %ebp,%edi
57ddd8:	0f 47 fa             	cmova  %edx,%edi
57dddb:	57                   	push   %edi
57dddc:	50                   	push   %eax
57dddd:	56                   	push   %esi
57ddde:	51                   	push   %ecx
57dddf:	ff 76 14             	push   0x14(%esi)
57dde2:	e8 89 eb f5 ff       	call   0x4dc970
57dde7:	83 c4 14             	add    $0x14,%esp
57ddea:	85 c0                	test   %eax,%eax
57ddec:	0f 84 b4 00 00 00    	je     0x57dea6
57ddf2:	8b 44 24 20          	mov    0x20(%esp),%eax
57ddf6:	2b ef                	sub    %edi,%ebp
57ddf8:	03 c7                	add    %edi,%eax
57ddfa:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
57de01:	8b 3e                	mov    (%esi),%edi
57de03:	89 44 24 20          	mov    %eax,0x20(%esp)
57de07:	85 ff                	test   %edi,%edi
57de09:	7e 2f                	jle    0x57de3a
57de0b:	33 c0                	xor    %eax,%eax
57de0d:	0f 1f 00             	nopl   (%eax)
57de10:	83 c0 20             	add    $0x20,%eax
57de13:	57                   	push   %edi
57de14:	03 c6                	add    %esi,%eax
57de16:	50                   	push   %eax
57de17:	53                   	push   %ebx
57de18:	e8 a3 b6 f7 ff       	call   0x4f94c0
57de1d:	8b d8                	mov    %eax,%ebx
57de1f:	83 c4 0c             	add    $0xc,%esp
57de22:	85 db                	test   %ebx,%ebx
57de24:	7e 45                	jle    0x57de6b
57de26:	01 5e 04             	add    %ebx,0x4(%esi)
57de29:	2b fb                	sub    %ebx,%edi
57de2b:	8b 46 04             	mov    0x4(%esi),%eax
57de2e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
57de32:	85 ff                	test   %edi,%edi
57de34:	7f da                	jg     0x57de10
57de36:	8b 44 24 20          	mov    0x20(%esp),%eax
57de3a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
57de40:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
57de47:	85 ed                	test   %ebp,%ebp
57de49:	7e 42                	jle    0x57de8d
57de4b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
57de4f:	e9 78 ff ff ff       	jmp    0x57ddcc
57de54:	8b 44 24 1c          	mov    0x1c(%esp),%eax
57de58:	50                   	push   %eax
57de59:	e8 b2 ac f7 ff       	call   0x4f8b10
57de5e:	83 c4 04             	add    $0x4,%esp
57de61:	8b c3                	mov    %ebx,%eax
57de63:	5f                   	pop    %edi
57de64:	5e                   	pop    %esi
57de65:	5d                   	pop    %ebp
57de66:	5b                   	pop    %ebx
57de67:	83 c4 08             	add    $0x8,%esp
57de6a:	c3                   	ret
57de6b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
57de6f:	50                   	push   %eax
57de70:	e8 9b ac f7 ff       	call   0x4f8b10
57de75:	8b 44 24 18          	mov    0x18(%esp),%eax
57de79:	83 c4 04             	add    $0x4,%esp
57de7c:	2b c5                	sub    %ebp,%eax
57de7e:	39 6c 24 14          	cmp    %ebp,0x14(%esp)
57de82:	0f 44 c3             	cmove  %ebx,%eax
57de85:	5f                   	pop    %edi
57de86:	5e                   	pop    %esi
57de87:	5d                   	pop    %ebp
57de88:	5b                   	pop    %ebx
57de89:	83 c4 08             	add    $0x8,%esp
57de8c:	c3                   	ret
57de8d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
57de91:	50                   	push   %eax
57de92:	e8 79 ac f7 ff       	call   0x4f8b10
57de97:	8b 44 24 18          	mov    0x18(%esp),%eax
57de9b:	83 c4 04             	add    $0x4,%esp
57de9e:	5f                   	pop    %edi
57de9f:	5e                   	pop    %esi
57dea0:	5d                   	pop    %ebp
57dea1:	5b                   	pop    %ebx
57dea2:	83 c4 08             	add    $0x8,%esp
57dea5:	c3                   	ret
57dea6:	8b 44 24 1c          	mov    0x1c(%esp),%eax
57deaa:	6a 0f                	push   $0xf
57deac:	50                   	push   %eax
57dead:	e8 4e ac f7 ff       	call   0x4f8b00
57deb2:	83 c4 08             	add    $0x8,%esp
57deb5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
57debc:	5f                   	pop    %edi
57debd:	5e                   	pop    %esi
57debe:	5d                   	pop    %ebp
57debf:	33 c0                	xor    %eax,%eax
57dec1:	5b                   	pop    %ebx
57dec2:	83 c4 08             	add    $0x8,%esp
57dec5:	c3                   	ret
57dec6:	cc                   	int3
57dec7:	cc                   	int3
57dec8:	cc                   	int3
57dec9:	cc                   	int3
57deca:	cc                   	int3
57decb:	cc                   	int3
57decc:	cc                   	int3
57decd:	cc                   	int3
57dece:	cc                   	int3
57decf:	cc                   	int3
57ded0:	b8 10 00 00 00       	mov    $0x10,%eax
57ded5:	e8 d6 38 05 00       	call   0x5d17b0
57deda:	53                   	push   %ebx
57dedb:	55                   	push   %ebp
57dedc:	56                   	push   %esi
57dedd:	57                   	push   %edi
57dede:	8b 7c 24 28          	mov    0x28(%esp),%edi
57dee2:	33 ed                	xor    %ebp,%ebp
57dee4:	85 ff                	test   %edi,%edi
57dee6:	0f 84 19 02 00 00    	je     0x57e105
57deec:	8b 5c 24 24          	mov    0x24(%esp),%ebx
57def0:	53                   	push   %ebx
57def1:	e8 aa 28 f7 ff       	call   0x4f07a0
57def6:	53                   	push   %ebx
57def7:	8b f0                	mov    %eax,%esi
57def9:	e8 22 b3 f7 ff       	call   0x4f9220
57defe:	83 c4 08             	add    $0x8,%esp
57df01:	89 44 24 10          	mov    %eax,0x10(%esp)
57df05:	85 f6                	test   %esi,%esi
57df07:	0f 84 f8 01 00 00    	je     0x57e105
57df0d:	85 c0                	test   %eax,%eax
57df0f:	0f 84 f0 01 00 00    	je     0x57e105
57df15:	8b 0e                	mov    (%esi),%ecx
57df17:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
57df1b:	85 c9                	test   %ecx,%ecx
57df1d:	7e 3b                	jle    0x57df5a
57df1f:	8b 46 04             	mov    0x4(%esi),%eax
57df22:	8b e9                	mov    %ecx,%ebp
57df24:	2b e8                	sub    %eax,%ebp
57df26:	3b eb                	cmp    %ebx,%ebp
57df28:	0f 4f eb             	cmovg  %ebx,%ebp
57df2b:	83 c0 20             	add    $0x20,%eax
57df2e:	55                   	push   %ebp
57df2f:	03 c6                	add    %esi,%eax
57df31:	50                   	push   %eax
57df32:	57                   	push   %edi
57df33:	e8 98 4e 05 00       	call   0x5d2dd0
57df38:	01 6e 04             	add    %ebp,0x4(%esi)
57df3b:	03 fd                	add    %ebp,%edi
57df3d:	8b 46 04             	mov    0x4(%esi),%eax
57df40:	83 c4 0c             	add    $0xc,%esp
57df43:	2b dd                	sub    %ebp,%ebx
57df45:	89 7c 24 28          	mov    %edi,0x28(%esp)
57df49:	39 06                	cmp    %eax,(%esi)
57df4b:	75 0d                	jne    0x57df5a
57df4d:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
57df53:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
57df5a:	ff 76 14             	push   0x14(%esi)
57df5d:	e8 3e 21 f7 ff       	call   0x4f00a0
57df62:	8b d0                	mov    %eax,%edx
57df64:	83 c4 04             	add    $0x4,%esp
57df67:	33 c0                	xor    %eax,%eax
57df69:	83 fa 01             	cmp    $0x1,%edx
57df6c:	0f 44 d0             	cmove  %eax,%edx
57df6f:	89 54 24 14          	mov    %edx,0x14(%esp)
57df73:	85 db                	test   %ebx,%ebx
57df75:	0f 8e 55 01 00 00    	jle    0x57e0d0
57df7b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
57df80:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
57df84:	0f 8e 46 01 00 00    	jle    0x57e0d0
57df8a:	8b 46 18             	mov    0x18(%esi),%eax
57df8d:	8b 7e 1c             	mov    0x1c(%esi),%edi
57df90:	3b c7                	cmp    %edi,%eax
57df92:	0f 85 87 00 00 00    	jne    0x57e01f
57df98:	8d 86 40 01 00 00    	lea    0x140(%esi),%eax
57df9e:	68 00 10 00 00       	push   $0x1000
57dfa3:	50                   	push   %eax
57dfa4:	ff 74 24 18          	push   0x18(%esp)
57dfa8:	89 46 18             	mov    %eax,0x18(%esi)
57dfab:	89 46 1c             	mov    %eax,0x1c(%esi)
57dfae:	e8 8d b4 f7 ff       	call   0x4f9440
57dfb3:	8b f8                	mov    %eax,%edi
57dfb5:	83 c4 0c             	add    $0xc,%esp
57dfb8:	85 ff                	test   %edi,%edi
57dfba:	7e 69                	jle    0x57e025
57dfbc:	01 7e 1c             	add    %edi,0x1c(%esi)
57dfbf:	8b 54 24 14          	mov    0x14(%esp),%edx
57dfc3:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
57dfc9:	0f 86 90 00 00 00    	jbe    0x57e05f
57dfcf:	8b cb                	mov    %ebx,%ecx
57dfd1:	8b c7                	mov    %edi,%eax
57dfd3:	2b ca                	sub    %edx,%ecx
57dfd5:	3b f9                	cmp    %ecx,%edi
57dfd7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
57dfdb:	0f 4f c1             	cmovg  %ecx,%eax
57dfde:	50                   	push   %eax
57dfdf:	ff 76 18             	push   0x18(%esi)
57dfe2:	8d 44 24 20          	lea    0x20(%esp),%eax
57dfe6:	50                   	push   %eax
57dfe7:	ff 74 24 34          	push   0x34(%esp)
57dfeb:	ff 76 14             	push   0x14(%esi)
57dfee:	e8 7d e9 f5 ff       	call   0x4dc970
57dff3:	83 c4 14             	add    $0x14,%esp
57dff6:	85 c0                	test   %eax,%eax
57dff8:	0f 84 f8 00 00 00    	je     0x57e0f6
57dffe:	8b 44 24 18          	mov    0x18(%esp),%eax
57e002:	03 e8                	add    %eax,%ebp
57e004:	01 44 24 28          	add    %eax,0x28(%esp)
57e008:	2b d8                	sub    %eax,%ebx
57e00a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
57e00e:	2b f8                	sub    %eax,%edi
57e010:	85 ff                	test   %edi,%edi
57e012:	7f 48                	jg     0x57e05c
57e014:	8b 46 1c             	mov    0x1c(%esi),%eax
57e017:	89 46 18             	mov    %eax,0x18(%esi)
57e01a:	e9 9f 00 00 00       	jmp    0x57e0be
57e01f:	2b f8                	sub    %eax,%edi
57e021:	85 ff                	test   %edi,%edi
57e023:	7f 9e                	jg     0x57dfc3
57e025:	6a 08                	push   $0x8
57e027:	ff 74 24 14          	push   0x14(%esp)
57e02b:	e8 70 b4 f7 ff       	call   0x4f94a0
57e030:	83 c4 08             	add    $0x8,%esp
57e033:	85 c0                	test   %eax,%eax
57e035:	0f 85 90 00 00 00    	jne    0x57e0cb
57e03b:	8d 46 20             	lea    0x20(%esi),%eax
57e03e:	89 7e 08             	mov    %edi,0x8(%esi)
57e041:	56                   	push   %esi
57e042:	50                   	push   %eax
57e043:	ff 76 14             	push   0x14(%esi)
57e046:	e8 85 e5 f5 ff       	call   0x4dc5d0
57e04b:	8b 3e                	mov    (%esi),%edi
57e04d:	83 c4 0c             	add    $0xc,%esp
57e050:	89 46 10             	mov    %eax,0x10(%esi)
57e053:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
57e05a:	eb 3d                	jmp    0x57e099
57e05c:	01 46 18             	add    %eax,0x18(%esi)
57e05f:	81 ff 00 01 00 00    	cmp    $0x100,%edi
57e065:	b8 00 01 00 00       	mov    $0x100,%eax
57e06a:	0f 47 f8             	cmova  %eax,%edi
57e06d:	8d 46 20             	lea    0x20(%esi),%eax
57e070:	57                   	push   %edi
57e071:	ff 76 18             	push   0x18(%esi)
57e074:	56                   	push   %esi
57e075:	50                   	push   %eax
57e076:	ff 76 14             	push   0x14(%esi)
57e079:	e8 f2 e8 f5 ff       	call   0x4dc970
57e07e:	83 c4 14             	add    $0x14,%esp
57e081:	85 c0                	test   %eax,%eax
57e083:	0f 84 86 00 00 00    	je     0x57e10f
57e089:	01 7e 18             	add    %edi,0x18(%esi)
57e08c:	8b 3e                	mov    (%esi),%edi
57e08e:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
57e095:	85 ff                	test   %edi,%edi
57e097:	74 25                	je     0x57e0be
57e099:	3b fb                	cmp    %ebx,%edi
57e09b:	0f 4f fb             	cmovg  %ebx,%edi
57e09e:	85 ff                	test   %edi,%edi
57e0a0:	7e 2e                	jle    0x57e0d0
57e0a2:	57                   	push   %edi
57e0a3:	8d 46 20             	lea    0x20(%esi),%eax
57e0a6:	50                   	push   %eax
57e0a7:	ff 74 24 30          	push   0x30(%esp)
57e0ab:	e8 20 4d 05 00       	call   0x5d2dd0
57e0b0:	83 c4 0c             	add    $0xc,%esp
57e0b3:	89 7e 04             	mov    %edi,0x4(%esi)
57e0b6:	03 ef                	add    %edi,%ebp
57e0b8:	2b df                	sub    %edi,%ebx
57e0ba:	01 7c 24 28          	add    %edi,0x28(%esp)
57e0be:	85 db                	test   %ebx,%ebx
57e0c0:	7e 0e                	jle    0x57e0d0
57e0c2:	8b 54 24 14          	mov    0x14(%esp),%edx
57e0c6:	e9 b5 fe ff ff       	jmp    0x57df80
57e0cb:	85 ed                	test   %ebp,%ebp
57e0cd:	0f 44 ef             	cmove  %edi,%ebp
57e0d0:	8b 7c 24 24          	mov    0x24(%esp),%edi
57e0d4:	6a 0f                	push   $0xf
57e0d6:	57                   	push   %edi
57e0d7:	e8 24 aa f7 ff       	call   0x4f8b00
57e0dc:	57                   	push   %edi
57e0dd:	e8 2e aa f7 ff       	call   0x4f8b10
57e0e2:	83 c4 0c             	add    $0xc,%esp
57e0e5:	85 ed                	test   %ebp,%ebp
57e0e7:	75 03                	jne    0x57e0ec
57e0e9:	8b 6e 08             	mov    0x8(%esi),%ebp
57e0ec:	5f                   	pop    %edi
57e0ed:	5e                   	pop    %esi
57e0ee:	8b c5                	mov    %ebp,%eax
57e0f0:	5d                   	pop    %ebp
57e0f1:	5b                   	pop    %ebx
57e0f2:	83 c4 10             	add    $0x10,%esp
57e0f5:	c3                   	ret
57e0f6:	8b 7c 24 24          	mov    0x24(%esp),%edi
57e0fa:	6a 0f                	push   $0xf
57e0fc:	57                   	push   %edi
57e0fd:	e8 fe a9 f7 ff       	call   0x4f8b00
57e102:	83 c4 08             	add    $0x8,%esp
57e105:	5f                   	pop    %edi
57e106:	5e                   	pop    %esi
57e107:	5d                   	pop    %ebp
57e108:	33 c0                	xor    %eax,%eax
57e10a:	5b                   	pop    %ebx
57e10b:	83 c4 10             	add    $0x10,%esp
57e10e:	c3                   	ret
57e10f:	8b 7c 24 24          	mov    0x24(%esp),%edi
57e113:	6a 0f                	push   $0xf
57e115:	57                   	push   %edi
57e116:	e8 e5 a9 f7 ff       	call   0x4f8b00
57e11b:	83 c4 08             	add    $0x8,%esp
57e11e:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
57e125:	33 c0                	xor    %eax,%eax
57e127:	5f                   	pop    %edi
57e128:	5e                   	pop    %esi
57e129:	5d                   	pop    %ebp
57e12a:	5b                   	pop    %ebx
57e12b:	83 c4 10             	add    $0x10,%esp
57e12e:	c3                   	ret
57e12f:	cc                   	int3
57e130:	b8 04 00 00 00       	mov    $0x4,%eax
57e135:	e8 76 36 05 00       	call   0x5d17b0
57e13a:	53                   	push   %ebx
57e13b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
57e13f:	55                   	push   %ebp
57e140:	56                   	push   %esi
57e141:	57                   	push   %edi
57e142:	53                   	push   %ebx
57e143:	bf 01 00 00 00       	mov    $0x1,%edi
57e148:	e8 53 26 f7 ff       	call   0x4f07a0
57e14d:	53                   	push   %ebx
57e14e:	8b f0                	mov    %eax,%esi
57e150:	e8 cb b0 f7 ff       	call   0x4f9220
57e155:	83 c4 08             	add    $0x8,%esp
57e158:	89 44 24 10          	mov    %eax,0x10(%esp)
57e15c:	85 f6                	test   %esi,%esi