5f7f23:	8b 45 10             	mov    0x10(%ebp),%eax
5f7f26:	50                   	push   %eax
5f7f27:	33 c9                	xor    %ecx,%ecx
5f7f29:	33 d2                	xor    %edx,%edx
5f7f2b:	8b c3                	mov    %ebx,%eax
5f7f2d:	e8 d2 01 00 00       	call   0x5f8104
5f7f32:	5f                   	pop    %edi
5f7f33:	5e                   	pop    %esi
5f7f34:	5b                   	pop    %ebx
5f7f35:	5d                   	pop    %ebp
5f7f36:	c2 0c 00             	ret    $0xc
5f7f39:	8d 40 00             	lea    0x0(%eax),%eax
5f7f3c:	55                   	push   %ebp
5f7f3d:	8b ec                	mov    %esp,%ebp
5f7f3f:	51                   	push   %ecx
5f7f40:	53                   	push   %ebx
5f7f41:	56                   	push   %esi
5f7f42:	57                   	push   %edi
5f7f43:	8b f9                	mov    %ecx,%edi
5f7f45:	8b f2                	mov    %edx,%esi
5f7f47:	8b d8                	mov    %eax,%ebx
5f7f49:	8b c3                	mov    %ebx,%eax
5f7f4b:	8b 10                	mov    (%eax),%edx
5f7f4d:	ff 52 0c             	call   *0xc(%edx)
5f7f50:	3b f0                	cmp    %eax,%esi
5f7f52:	7d 72                	jge    0x5f7fc6
5f7f54:	8b c3                	mov    %ebx,%eax
5f7f56:	8b 10                	mov    (%eax),%edx
5f7f58:	ff 52 0c             	call   *0xc(%edx)
5f7f5b:	2b c6                	sub    %esi,%eax
5f7f5d:	d1 f8                	sar    $1,%eax
5f7f5f:	79 03                	jns    0x5f7f64
5f7f61:	83 d0 00             	adc    $0x0,%eax
5f7f64:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f7f67:	8a 45 0c             	mov    0xc(%ebp),%al
5f7f6a:	fe c8                	dec    %al
5f7f6c:	74 06                	je     0x5f7f74
5f7f6e:	fe c8                	dec    %al
5f7f70:	74 26                	je     0x5f7f98
5f7f72:	eb 52                	jmp    0x5f7fc6
5f7f74:	03 75 fc             	add    -0x4(%ebp),%esi
5f7f77:	4e                   	dec    %esi
5f7f78:	56                   	push   %esi
5f7f79:	8b c3                	mov    %ebx,%eax
5f7f7b:	8b 10                	mov    (%eax),%edx
5f7f7d:	ff 52 08             	call   *0x8(%edx)
5f7f80:	48                   	dec    %eax
5f7f81:	50                   	push   %eax
5f7f82:	6a 00                	push   $0x0
5f7f84:	6a 00                	push   $0x0
5f7f86:	8b 45 10             	mov    0x10(%ebp),%eax
5f7f89:	50                   	push   %eax
5f7f8a:	33 c9                	xor    %ecx,%ecx
5f7f8c:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f7f8f:	8b c3                	mov    %ebx,%eax
5f7f91:	e8 6e 01 00 00       	call   0x5f8104
5f7f96:	eb 2e                	jmp    0x5f7fc6
5f7f98:	8b c3                	mov    %ebx,%eax
5f7f9a:	8b 10                	mov    (%eax),%edx
5f7f9c:	ff 52 0c             	call   *0xc(%edx)
5f7f9f:	48                   	dec    %eax
5f7fa0:	50                   	push   %eax
5f7fa1:	8b c3                	mov    %ebx,%eax
5f7fa3:	8b 10                	mov    (%eax),%edx
5f7fa5:	ff 52 08             	call   *0x8(%edx)
5f7fa8:	48                   	dec    %eax
5f7fa9:	50                   	push   %eax
5f7faa:	6a 00                	push   $0x0
5f7fac:	6a 00                	push   $0x0
5f7fae:	8b 45 10             	mov    0x10(%ebp),%eax
5f7fb1:	50                   	push   %eax
5f7fb2:	8b c3                	mov    %ebx,%eax
5f7fb4:	8b 10                	mov    (%eax),%edx
5f7fb6:	ff 52 0c             	call   *0xc(%edx)
5f7fb9:	8b d0                	mov    %eax,%edx
5f7fbb:	2b d6                	sub    %esi,%edx
5f7fbd:	33 c9                	xor    %ecx,%ecx
5f7fbf:	8b c3                	mov    %ebx,%eax
5f7fc1:	e8 3e 01 00 00       	call   0x5f8104
5f7fc6:	8b c3                	mov    %ebx,%eax
5f7fc8:	8b 10                	mov    (%eax),%edx
5f7fca:	ff 52 08             	call   *0x8(%edx)
5f7fcd:	3b f8                	cmp    %eax,%edi
5f7fcf:	7d 6f                	jge    0x5f8040
5f7fd1:	8b c3                	mov    %ebx,%eax
5f7fd3:	8b 10                	mov    (%eax),%edx
5f7fd5:	ff 52 08             	call   *0x8(%edx)
5f7fd8:	8b f0                	mov    %eax,%esi
5f7fda:	2b f7                	sub    %edi,%esi
5f7fdc:	d1 fe                	sar    $1,%esi
5f7fde:	79 03                	jns    0x5f7fe3
5f7fe0:	83 d6 00             	adc    $0x0,%esi
5f7fe3:	8a 45 08             	mov    0x8(%ebp),%al
5f7fe6:	fe c8                	dec    %al
5f7fe8:	74 06                	je     0x5f7ff0
5f7fea:	fe c8                	dec    %al
5f7fec:	74 24                	je     0x5f8012
5f7fee:	eb 50                	jmp    0x5f8040
5f7ff0:	8b c3                	mov    %ebx,%eax
5f7ff2:	8b 10                	mov    (%eax),%edx
5f7ff4:	ff 52 0c             	call   *0xc(%edx)
5f7ff7:	48                   	dec    %eax
5f7ff8:	50                   	push   %eax
5f7ff9:	03 fe                	add    %esi,%edi
5f7ffb:	4f                   	dec    %edi
5f7ffc:	57                   	push   %edi
5f7ffd:	6a 00                	push   $0x0
5f7fff:	6a 00                	push   $0x0
5f8001:	8b 45 10             	mov    0x10(%ebp),%eax
5f8004:	50                   	push   %eax
5f8005:	8b ce                	mov    %esi,%ecx
5f8007:	33 d2                	xor    %edx,%edx
5f8009:	8b c3                	mov    %ebx,%eax
5f800b:	e8 f4 00 00 00       	call   0x5f8104
5f8010:	eb 2e                	jmp    0x5f8040
5f8012:	8b c3                	mov    %ebx,%eax
5f8014:	8b 10                	mov    (%eax),%edx
5f8016:	ff 52 0c             	call   *0xc(%edx)
5f8019:	48                   	dec    %eax
5f801a:	50                   	push   %eax
5f801b:	8b c3                	mov    %ebx,%eax
5f801d:	8b 10                	mov    (%eax),%edx
5f801f:	ff 52 08             	call   *0x8(%edx)
5f8022:	48                   	dec    %eax
5f8023:	50                   	push   %eax
5f8024:	6a 00                	push   $0x0
5f8026:	6a 00                	push   $0x0
5f8028:	8b 45 10             	mov    0x10(%ebp),%eax
5f802b:	50                   	push   %eax
5f802c:	8b c3                	mov    %ebx,%eax
5f802e:	8b 10                	mov    (%eax),%edx
5f8030:	ff 52 08             	call   *0x8(%edx)
5f8033:	8b c8                	mov    %eax,%ecx
5f8035:	2b cf                	sub    %edi,%ecx
5f8037:	33 d2                	xor    %edx,%edx
5f8039:	8b c3                	mov    %ebx,%eax
5f803b:	e8 c4 00 00 00       	call   0x5f8104
5f8040:	5f                   	pop    %edi
5f8041:	5e                   	pop    %esi
5f8042:	5b                   	pop    %ebx
5f8043:	59                   	pop    %ecx
5f8044:	5d                   	pop    %ebp
5f8045:	c2 0c 00             	ret    $0xc
5f8048:	55                   	push   %ebp
5f8049:	8b ec                	mov    %esp,%ebp
5f804b:	83 c4 f4             	add    $0xfffffff4,%esp
5f804e:	53                   	push   %ebx
5f804f:	56                   	push   %esi
5f8050:	57                   	push   %edi
5f8051:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f8054:	8b fa                	mov    %edx,%edi
5f8056:	8b f0                	mov    %eax,%esi
5f8058:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5f805b:	8b c6                	mov    %esi,%eax
5f805d:	8b 10                	mov    (%eax),%edx
5f805f:	ff 52 0c             	call   *0xc(%edx)
5f8062:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f8065:	8b c6                	mov    %esi,%eax
5f8067:	8b 10                	mov    (%eax),%edx
5f8069:	ff 52 08             	call   *0x8(%edx)
5f806c:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f806f:	8b 45 14             	mov    0x14(%ebp),%eax
5f8072:	50                   	push   %eax
5f8073:	53                   	push   %ebx
5f8074:	8a 45 08             	mov    0x8(%ebp),%al
5f8077:	50                   	push   %eax
5f8078:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f807b:	8b d7                	mov    %edi,%edx
5f807d:	8b c6                	mov    %esi,%eax
5f807f:	e8 b8 fe ff ff       	call   0x5f7f3c
5f8084:	8b c6                	mov    %esi,%eax
5f8086:	e8 7d f8 ff ff       	call   0x5f7908
5f808b:	84 c0                	test   %al,%al
5f808d:	74 1a                	je     0x5f80a9
5f808f:	8b 45 10             	mov    0x10(%ebp),%eax
5f8092:	50                   	push   %eax
5f8093:	53                   	push   %ebx
5f8094:	8a 45 08             	mov    0x8(%ebp),%al
5f8097:	50                   	push   %eax
5f8098:	8b c6                	mov    %esi,%eax
5f809a:	e8 39 f8 ff ff       	call   0x5f78d8
5f809f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f80a2:	8b d7                	mov    %edi,%edx
5f80a4:	e8 93 fe ff ff       	call   0x5f7f3c
5f80a9:	8b d7                	mov    %edi,%edx
5f80ab:	8b c6                	mov    %esi,%eax
5f80ad:	e8 12 fa ff ff       	call   0x5f7ac4
5f80b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f80b5:	8b c6                	mov    %esi,%eax
5f80b7:	e8 ac fb ff ff       	call   0x5f7c68
5f80bc:	8b 45 14             	mov    0x14(%ebp),%eax
5f80bf:	50                   	push   %eax
5f80c0:	53                   	push   %ebx
5f80c1:	8a 45 08             	mov    0x8(%ebp),%al
5f80c4:	50                   	push   %eax
5f80c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f80c8:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f80cb:	8b c6                	mov    %esi,%eax
5f80cd:	e8 26 fd ff ff       	call   0x5f7df8
5f80d2:	8b c6                	mov    %esi,%eax
5f80d4:	e8 2f f8 ff ff       	call   0x5f7908
5f80d9:	84 c0                	test   %al,%al
5f80db:	74 1b                	je     0x5f80f8
5f80dd:	8b 45 10             	mov    0x10(%ebp),%eax
5f80e0:	50                   	push   %eax
5f80e1:	53                   	push   %ebx
5f80e2:	8a 45 08             	mov    0x8(%ebp),%al
5f80e5:	50                   	push   %eax
5f80e6:	8b c6                	mov    %esi,%eax
5f80e8:	e8 eb f7 ff ff       	call   0x5f78d8
5f80ed:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f80f0:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f80f3:	e8 00 fd ff ff       	call   0x5f7df8
5f80f8:	5f                   	pop    %edi
5f80f9:	5e                   	pop    %esi
5f80fa:	5b                   	pop    %ebx
5f80fb:	8b e5                	mov    %ebp,%esp
5f80fd:	5d                   	pop    %ebp
5f80fe:	c2 10 00             	ret    $0x10
5f8101:	8d 40 00             	lea    0x0(%eax),%eax
5f8104:	55                   	push   %ebp
5f8105:	8b ec                	mov    %esp,%ebp
5f8107:	83 c4 f8             	add    $0xfffffff8,%esp
5f810a:	53                   	push   %ebx
5f810b:	56                   	push   %esi
5f810c:	57                   	push   %edi
5f810d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f8110:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f8113:	8b f0                	mov    %eax,%esi
5f8115:	b2 01                	mov    $0x1,%dl
5f8117:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5f811c:	e8 83 f4 ff ff       	call   0x5f75a4
5f8121:	8b d8                	mov    %eax,%ebx
5f8123:	8b c6                	mov    %esi,%eax
5f8125:	8b 10                	mov    (%eax),%edx
5f8127:	ff 52 10             	call   *0x10(%edx)
5f812a:	50                   	push   %eax
5f812b:	8b 4d 14             	mov    0x14(%ebp),%ecx
5f812e:	2b 4d f8             	sub    -0x8(%ebp),%ecx
5f8131:	41                   	inc    %ecx
5f8132:	8b 55 18             	mov    0x18(%ebp),%edx
5f8135:	2b 55 fc             	sub    -0x4(%ebp),%edx
5f8138:	42                   	inc    %edx
5f8139:	8b c3                	mov    %ebx,%eax
5f813b:	8b 38                	mov    (%eax),%edi
5f813d:	ff 57 24             	call   *0x24(%edi)
5f8140:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f8143:	50                   	push   %eax
5f8144:	6a 00                	push   $0x0
5f8146:	6a 00                	push   $0x0
5f8148:	8b c3                	mov    %ebx,%eax
5f814a:	8b 10                	mov    (%eax),%edx
5f814c:	ff 52 0c             	call   *0xc(%edx)
5f814f:	50                   	push   %eax
5f8150:	8b c3                	mov    %ebx,%eax
5f8152:	8b 10                	mov    (%eax),%edx
5f8154:	ff 52 08             	call   *0x8(%edx)
5f8157:	50                   	push   %eax
5f8158:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f815b:	8b d3                	mov    %ebx,%edx
5f815d:	8b c6                	mov    %esi,%eax
5f815f:	e8 c4 29 00 00       	call   0x5fab28
5f8164:	8b 45 18             	mov    0x18(%ebp),%eax
5f8167:	50                   	push   %eax
5f8168:	8b 45 14             	mov    0x14(%ebp),%eax
5f816b:	50                   	push   %eax
5f816c:	db 45 08             	fildl  0x8(%ebp)
5f816f:	83 c4 f8             	add    $0xfffffff8,%esp
5f8172:	dd 1c 24             	fstpl  (%esp)
5f8175:	9b                   	fwait
5f8176:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f8179:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f817c:	8b c6                	mov    %esi,%eax
5f817e:	e8 35 41 00 00       	call   0x5fc2b8
5f8183:	6a 00                	push   $0x0
5f8185:	8b 45 10             	mov    0x10(%ebp),%eax
5f8188:	50                   	push   %eax
5f8189:	8b 45 0c             	mov    0xc(%ebp),%eax
5f818c:	50                   	push   %eax
5f818d:	8b c3                	mov    %ebx,%eax
5f818f:	8b 10                	mov    (%eax),%edx
5f8191:	ff 52 0c             	call   *0xc(%edx)
5f8194:	50                   	push   %eax
5f8195:	8b c3                	mov    %ebx,%eax
5f8197:	8b 10                	mov    (%eax),%edx
5f8199:	ff 52 08             	call   *0x8(%edx)
5f819c:	50                   	push   %eax
5f819d:	33 c9                	xor    %ecx,%ecx
5f819f:	8b d6                	mov    %esi,%edx
5f81a1:	8b c3                	mov    %ebx,%eax
5f81a3:	e8 80 29 00 00       	call   0x5fab28
5f81a8:	8b c3                	mov    %ebx,%eax
5f81aa:	e8 c9 b8 e0 ff       	call   0x403a78
5f81af:	5f                   	pop    %edi
5f81b0:	5e                   	pop    %esi
5f81b1:	5b                   	pop    %ebx
5f81b2:	59                   	pop    %ecx
5f81b3:	59                   	pop    %ecx
5f81b4:	5d                   	pop    %ebp
5f81b5:	c2 14 00             	ret    $0x14
5f81b8:	3a 50 40             	cmp    0x40(%eax),%dl
5f81bb:	74 05                	je     0x5f81c2
5f81bd:	e8 ea 27 00 00       	call   0x5fa9ac
5f81c2:	c3                   	ret
5f81c3:	90                   	nop
5f81c4:	53                   	push   %ebx
5f81c5:	56                   	push   %esi
5f81c6:	57                   	push   %edi
5f81c7:	8b d8                	mov    %eax,%ebx
5f81c9:	8b 43 0c             	mov    0xc(%ebx),%eax
5f81cc:	85 c0                	test   %eax,%eax
5f81ce:	74 2c                	je     0x5f81fc
5f81d0:	8b d0                	mov    %eax,%edx
5f81d2:	8b 43 08             	mov    0x8(%ebx),%eax
5f81d5:	e8 16 95 00 00       	call   0x6016f0
5f81da:	eb 20                	jmp    0x5f81fc
5f81dc:	8b d7                	mov    %edi,%edx
5f81de:	4a                   	dec    %edx
5f81df:	8b c6                	mov    %esi,%eax
5f81e1:	e8 da 3b e2 ff       	call   0x41bdc0
5f81e6:	8b d0                	mov    %eax,%edx
5f81e8:	8b 43 08             	mov    0x8(%ebx),%eax
5f81eb:	e8 00 95 00 00       	call   0x6016f0
5f81f0:	8b 43 2c             	mov    0x2c(%ebx),%eax
5f81f3:	8b 50 08             	mov    0x8(%eax),%edx
5f81f6:	4a                   	dec    %edx
5f81f7:	e8 64 3a e2 ff       	call   0x41bc60
5f81fc:	8b 73 2c             	mov    0x2c(%ebx),%esi
5f81ff:	8b 7e 08             	mov    0x8(%esi),%edi
5f8202:	85 ff                	test   %edi,%edi
5f8204:	7f d6                	jg     0x5f81dc
5f8206:	33 c0                	xor    %eax,%eax
5f8208:	89 43 0c             	mov    %eax,0xc(%ebx)
5f820b:	5f                   	pop    %edi
5f820c:	5e                   	pop    %esi
5f820d:	5b                   	pop    %ebx
5f820e:	c3                   	ret
5f820f:	90                   	nop
5f8210:	53                   	push   %ebx
5f8211:	8b d8                	mov    %eax,%ebx
5f8213:	84 d2                	test   %dl,%dl
5f8215:	74 11                	je     0x5f8228
5f8217:	8b 43 18             	mov    0x18(%ebx),%eax
5f821a:	85 c0                	test   %eax,%eax
5f821c:	74 05                	je     0x5f8223
5f821e:	e8 55 b8 e0 ff       	call   0x403a78
5f8223:	33 c0                	xor    %eax,%eax
5f8225:	89 43 18             	mov    %eax,0x18(%ebx)
5f8228:	8b 43 10             	mov    0x10(%ebx),%eax
5f822b:	85 c0                	test   %eax,%eax