5b2f9e:	7f 0e                	jg     0x5b2fae
5b2fa0:	55                   	push   %ebp
5b2fa1:	e8 3a fa ff ff       	call   0x5b29e0
5b2fa6:	59                   	pop    %ecx
5b2fa7:	84 c0                	test   %al,%al
5b2fa9:	74 cf                	je     0x5b2f7a
5b2fab:	4f                   	dec    %edi
5b2fac:	74 cc                	je     0x5b2f7a
5b2fae:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2fb1:	89 45 dc             	mov    %eax,-0x24(%ebp)
5b2fb4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b2fb7:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
5b2fba:	0f 8e e6 fd ff ff    	jle    0x5b2da6
5b2fc0:	8b 46 04             	mov    0x4(%esi),%eax
5b2fc3:	48                   	dec    %eax
5b2fc4:	3b d8                	cmp    %eax,%ebx
5b2fc6:	7e 0c                	jle    0x5b2fd4
5b2fc8:	8b 56 04             	mov    0x4(%esi),%edx
5b2fcb:	03 55 e4             	add    -0x1c(%ebp),%edx
5b2fce:	8b c6                	mov    %esi,%eax
5b2fd0:	8b 08                	mov    (%eax),%ecx
5b2fd2:	ff 11                	call   *(%ecx)
5b2fd4:	85 db                	test   %ebx,%ebx
5b2fd6:	0f 8f 1d fc ff ff    	jg     0x5b2bf9
5b2fdc:	8b c6                	mov    %esi,%eax
5b2fde:	e8 95 0a e5 ff       	call   0x403a78
5b2fe3:	8b 45 a0             	mov    -0x60(%ebp),%eax
5b2fe6:	8b 55 98             	mov    -0x68(%ebp),%edx
5b2fe9:	2b d0                	sub    %eax,%edx
5b2feb:	0f 8c d8 00 00 00    	jl     0x5b30c9
5b2ff1:	42                   	inc    %edx
5b2ff2:	89 55 8c             	mov    %edx,-0x74(%ebp)
5b2ff5:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b2ff8:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b2ffb:	4a                   	dec    %edx
5b2ffc:	33 c0                	xor    %eax,%eax
5b2ffe:	e8 11 64 ff ff       	call   0x5a9414
5b3003:	89 45 d0             	mov    %eax,-0x30(%ebp)
5b3006:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b3009:	42                   	inc    %edx
5b300a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b300d:	48                   	dec    %eax
5b300e:	e8 09 64 ff ff       	call   0x5a941c
5b3013:	89 45 cc             	mov    %eax,-0x34(%ebp)
5b3016:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5b3019:	8b 55 9c             	mov    -0x64(%ebp),%edx
5b301c:	2b d0                	sub    %eax,%edx
5b301e:	0f 8c 99 00 00 00    	jl     0x5b30bd
5b3024:	42                   	inc    %edx
5b3025:	89 55 88             	mov    %edx,-0x78(%ebp)
5b3028:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b302b:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b302e:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b3031:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b3034:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3037:	e8 c4 ca ff ff       	call   0x5afb00
5b303c:	85 c0                	test   %eax,%eax
5b303e:	74 71                	je     0x5b30b1
5b3040:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5b3044:	74 59                	je     0x5b309f
5b3046:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3049:	4a                   	dec    %edx
5b304a:	33 c0                	xor    %eax,%eax
5b304c:	e8 c3 63 ff ff       	call   0x5a9414
5b3051:	89 45 d8             	mov    %eax,-0x28(%ebp)
5b3054:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b3057:	42                   	inc    %edx
5b3058:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b305b:	48                   	dec    %eax
5b305c:	e8 bb 63 ff ff       	call   0x5a941c
5b3061:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b3064:	8b 45 d0             	mov    -0x30(%ebp),%eax
5b3067:	8b 55 cc             	mov    -0x34(%ebp),%edx
5b306a:	2b d0                	sub    %eax,%edx
5b306c:	7c 43                	jl     0x5b30b1
5b306e:	42                   	inc    %edx
5b306f:	89 55 84             	mov    %edx,-0x7c(%ebp)
5b3072:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5b3075:	8b 75 d8             	mov    -0x28(%ebp),%esi
5b3078:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
5b307b:	2b de                	sub    %esi,%ebx
5b307d:	7c 16                	jl     0x5b3095
5b307f:	43                   	inc    %ebx
5b3080:	8b 45 08             	mov    0x8(%ebp),%eax
5b3083:	50                   	push   %eax
5b3084:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5b3087:	8b d6                	mov    %esi,%edx
5b3089:	8b 45 0c             	mov    0xc(%ebp),%eax
5b308c:	e8 c7 fb 03 00       	call   0x5f2c58
5b3091:	46                   	inc    %esi
5b3092:	4b                   	dec    %ebx
5b3093:	75 eb                	jne    0x5b3080
5b3095:	ff 45 b4             	incl   -0x4c(%ebp)
5b3098:	ff 4d 84             	decl   -0x7c(%ebp)
5b309b:	75 d8                	jne    0x5b3075
5b309d:	eb 12                	jmp    0x5b30b1
5b309f:	8b 45 08             	mov    0x8(%ebp),%eax
5b30a2:	50                   	push   %eax
5b30a3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b30a6:	8b 55 ac             	mov    -0x54(%ebp),%edx
5b30a9:	8b 45 0c             	mov    0xc(%ebp),%eax
5b30ac:	e8 a7 fb 03 00       	call   0x5f2c58
5b30b1:	ff 45 ac             	incl   -0x54(%ebp)
5b30b4:	ff 4d 88             	decl   -0x78(%ebp)
5b30b7:	0f 85 6e ff ff ff    	jne    0x5b302b
5b30bd:	ff 45 b0             	incl   -0x50(%ebp)
5b30c0:	ff 4d 8c             	decl   -0x74(%ebp)
5b30c3:	0f 85 2f ff ff ff    	jne    0x5b2ff8
5b30c9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b30cc:	48                   	dec    %eax
5b30cd:	85 c0                	test   %eax,%eax
5b30cf:	7c 21                	jl     0x5b30f2
5b30d1:	40                   	inc    %eax
5b30d2:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b30d5:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5b30dc:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b30df:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5b30e2:	8b 04 90             	mov    (%eax,%edx,4),%eax
5b30e5:	e8 e2 f6 e4 ff       	call   0x4027cc
5b30ea:	ff 45 b4             	incl   -0x4c(%ebp)
5b30ed:	ff 4d 8c             	decl   -0x74(%ebp)
5b30f0:	75 ea                	jne    0x5b30dc
5b30f2:	8b 45 c8             	mov    -0x38(%ebp),%eax
5b30f5:	e8 d2 f6 e4 ff       	call   0x4027cc
5b30fa:	5f                   	pop    %edi
5b30fb:	5e                   	pop    %esi
5b30fc:	5b                   	pop    %ebx
5b30fd:	8b e5                	mov    %ebp,%esp
5b30ff:	5d                   	pop    %ebp
5b3100:	c2 10 00             	ret    $0x10
5b3103:	90                   	nop
5b3104:	55                   	push   %ebp
5b3105:	8b ec                	mov    %esp,%ebp
5b3107:	83 c4 e0             	add    $0xffffffe0,%esp
5b310a:	53                   	push   %ebx
5b310b:	56                   	push   %esi
5b310c:	57                   	push   %edi
5b310d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5b3110:	8b fa                	mov    %edx,%edi
5b3112:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b3115:	8b 5d 10             	mov    0x10(%ebp),%ebx
5b3118:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b311b:	8b 10                	mov    (%eax),%edx
5b311d:	ff 52 08             	call   *0x8(%edx)
5b3120:	8b f0                	mov    %eax,%esi
5b3122:	4e                   	dec    %esi
5b3123:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3126:	8b 10                	mov    (%eax),%edx
5b3128:	ff 52 0c             	call   *0xc(%edx)
5b312b:	48                   	dec    %eax
5b312c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b312f:	8d 45 ed             	lea    -0x13(%ebp),%eax
5b3132:	50                   	push   %eax
5b3133:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5b3136:	8b d7                	mov    %edi,%edx
5b3138:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b313b:	e8 cc 8b 04 00       	call   0x5fbd0c
5b3140:	85 f6                	test   %esi,%esi
5b3142:	0f 8c 88 00 00 00    	jl     0x5b31d0
5b3148:	46                   	inc    %esi
5b3149:	89 75 e0             	mov    %esi,-0x20(%ebp)
5b314c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5b3153:	8b 7d f0             	mov    -0x10(%ebp),%edi
5b3156:	85 ff                	test   %edi,%edi
5b3158:	7c 6e                	jl     0x5b31c8
5b315a:	47                   	inc    %edi
5b315b:	33 f6                	xor    %esi,%esi
5b315d:	8d 45 e5             	lea    -0x1b(%ebp),%eax
5b3160:	50                   	push   %eax
5b3161:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5b3164:	8b d6                	mov    %esi,%edx
5b3166:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3169:	e8 9e 8b 04 00       	call   0x5fbd0c
5b316e:	33 c0                	xor    %eax,%eax
5b3170:	8a 45 ef             	mov    -0x11(%ebp),%al
5b3173:	33 d2                	xor    %edx,%edx
5b3175:	8a 55 e7             	mov    -0x19(%ebp),%dl
5b3178:	2b c2                	sub    %edx,%eax
5b317a:	99                   	cltd
5b317b:	33 c2                	xor    %edx,%eax
5b317d:	2b c2                	sub    %edx,%eax
5b317f:	8b c8                	mov    %eax,%ecx
5b3181:	33 c0                	xor    %eax,%eax
5b3183:	8a 45 ee             	mov    -0x12(%ebp),%al
5b3186:	33 d2                	xor    %edx,%edx
5b3188:	8a 55 e6             	mov    -0x1a(%ebp),%dl
5b318b:	2b c2                	sub    %edx,%eax
5b318d:	99                   	cltd
5b318e:	33 c2                	xor    %edx,%eax
5b3190:	2b c2                	sub    %edx,%eax
5b3192:	89 45 e8             	mov    %eax,-0x18(%ebp)
5b3195:	33 c0                	xor    %eax,%eax
5b3197:	8a 45 ed             	mov    -0x13(%ebp),%al
5b319a:	33 d2                	xor    %edx,%edx
5b319c:	8a 55 e5             	mov    -0x1b(%ebp),%dl
5b319f:	2b c2                	sub    %edx,%eax
5b31a1:	99                   	cltd
5b31a2:	33 c2                	xor    %edx,%eax
5b31a4:	2b c2                	sub    %edx,%eax
5b31a6:	3b d9                	cmp    %ecx,%ebx
5b31a8:	7c 1a                	jl     0x5b31c4
5b31aa:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
5b31ad:	7c 15                	jl     0x5b31c4
5b31af:	3b d8                	cmp    %eax,%ebx
5b31b1:	7c 11                	jl     0x5b31c4
5b31b3:	8b 45 08             	mov    0x8(%ebp),%eax
5b31b6:	50                   	push   %eax
5b31b7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5b31ba:	8b d6                	mov    %esi,%edx
5b31bc:	8b 45 0c             	mov    0xc(%ebp),%eax
5b31bf:	e8 94 fa 03 00       	call   0x5f2c58
5b31c4:	46                   	inc    %esi
5b31c5:	4f                   	dec    %edi
5b31c6:	75 95                	jne    0x5b315d
5b31c8:	ff 45 f4             	incl   -0xc(%ebp)
5b31cb:	ff 4d e0             	decl   -0x20(%ebp)
5b31ce:	75 83                	jne    0x5b3153
5b31d0:	5f                   	pop    %edi
5b31d1:	5e                   	pop    %esi
5b31d2:	5b                   	pop    %ebx
5b31d3:	8b e5                	mov    %ebp,%esp
5b31d5:	5d                   	pop    %ebp
5b31d6:	c2 0c 00             	ret    $0xc
5b31d9:	8d 40 00             	lea    0x0(%eax),%eax
5b31dc:	55                   	push   %ebp
5b31dd:	8b ec                	mov    %esp,%ebp
5b31df:	83 c4 90             	add    $0xffffff90,%esp
5b31e2:	53                   	push   %ebx
5b31e3:	56                   	push   %esi
5b31e4:	57                   	push   %edi
5b31e5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5b31e8:	89 55 f8             	mov    %edx,-0x8(%ebp)
5b31eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b31ee:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b31f1:	8b 10                	mov    (%eax),%edx
5b31f3:	ff 52 08             	call   *0x8(%edx)
5b31f6:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b31f9:	db 45 a0             	fildl  -0x60(%ebp)
5b31fc:	d8 05 68 37 5b 00    	fadds  0x5b3768
5b3202:	d8 3d 6c 37 5b 00    	fdivrs 0x5b376c
5b3208:	dd 5d a8             	fstpl  -0x58(%ebp)
5b320b:	9b                   	fwait
5b320c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b320f:	8a 40 04             	mov    0x4(%eax),%al
5b3212:	88 45 b7             	mov    %al,-0x49(%ebp)
5b3215:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3218:	8a 40 04             	mov    0x4(%eax),%al
5b321b:	88 45 b6             	mov    %al,-0x4a(%ebp)
5b321e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3221:	8a 15 70 37 5b 00    	mov    0x5b3770,%dl
5b3227:	88 50 04             	mov    %dl,0x4(%eax)
5b322a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b322d:	8a 15 74 37 5b 00    	mov    0x5b3774,%dl
5b3233:	88 50 04             	mov    %dl,0x4(%eax)
5b3236:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3239:	8b 10                	mov    (%eax),%edx
5b323b:	ff 52 0c             	call   *0xc(%edx)
5b323e:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b3241:	db 45 a0             	fildl  -0x60(%ebp)
5b3244:	db 7d 94             	fstpt  -0x6c(%ebp)
5b3247:	9b                   	fwait
5b3248:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b324b:	8b 10                	mov    (%eax),%edx
5b324d:	ff 52 0c             	call   *0xc(%edx)
5b3250:	89 45 90             	mov    %eax,-0x70(%ebp)
5b3253:	db 45 90             	fildl  -0x70(%ebp)
5b3256:	db 6d 94             	fldt   -0x6c(%ebp)
5b3259:	de f1                	fdivp  %st,%st(1)
5b325b:	dd 5d e0             	fstpl  -0x20(%ebp)
5b325e:	9b                   	fwait
5b325f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3262:	8b 10                	mov    (%eax),%edx
5b3264:	ff 52 08             	call   *0x8(%edx)
5b3267:	89 45 a0             	mov    %eax,-0x60(%ebp)
5b326a:	db 45 a0             	fildl  -0x60(%ebp)
5b326d:	db 7d 94             	fstpt  -0x6c(%ebp)
5b3270:	9b                   	fwait
5b3271:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b3274:	8b 10                	mov    (%eax),%edx
5b3276:	ff 52 08             	call   *0x8(%edx)
5b3279:	89 45 90             	mov    %eax,-0x70(%ebp)
5b327c:	db 45 90             	fildl  -0x70(%ebp)
5b327f:	db 6d 94             	fldt   -0x6c(%ebp)
5b3282:	de f1                	fdivp  %st,%st(1)
5b3284:	dd 5d d8             	fstpl  -0x28(%ebp)
5b3287:	9b                   	fwait
5b3288:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b328b:	8b 10                	mov    (%eax),%edx
5b328d:	ff 52 0c             	call   *0xc(%edx)
5b3290:	c1 e0 02             	shl    $0x2,%eax
5b3293:	e8 14 f5 e4 ff       	call   0x4027ac
5b3298:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5b329b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b329e:	8b 10                	mov    (%eax),%edx
5b32a0:	ff 52 0c             	call   *0xc(%edx)
5b32a3:	48                   	dec    %eax
5b32a4:	85 c0                	test   %eax,%eax
5b32a6:	7c 20                	jl     0x5b32c8
5b32a8:	40                   	inc    %eax
5b32a9:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b32ac:	33 f6                	xor    %esi,%esi
5b32ae:	89 75 a0             	mov    %esi,-0x60(%ebp)
5b32b1:	db 45 a0             	fildl  -0x60(%ebp)
5b32b4:	dc 4d e0             	fmull  -0x20(%ebp)
5b32b7:	e8 10 fa e4 ff       	call   0x402ccc
5b32bc:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b32bf:	89 04 b2             	mov    %eax,(%edx,%esi,4)
5b32c2:	46                   	inc    %esi
5b32c3:	ff 4d a4             	decl   -0x5c(%ebp)
5b32c6:	75 e6                	jne    0x5b32ae
5b32c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b32cb:	8b 10                	mov    (%eax),%edx
5b32cd:	ff 52 10             	call   *0x10(%edx)
5b32d0:	83 e0 7f             	and    $0x7f,%eax
5b32d3:	83 f8 08             	cmp    $0x8,%eax
5b32d6:	0f 87 69 04 00 00    	ja     0x5b3745
5b32dc:	ff 24 85 e3 32 5b 00 	jmp    *0x5b32e3(,%eax,4)
5b32e3:	45                   	inc    %ebp
5b32e4:	37                   	aaa
5b32e5:	5b                   	pop    %ebx
5b32e6:	00 07                	add    %al,(%edi)
5b32e8:	33 5b 00             	xor    0x0(%ebx),%ebx
5b32eb:	e2 33                	loop   0x5b3320
5b32ed:	5b                   	pop    %ebx
5b32ee:	00 e2                	add    %ah,%dl
5b32f0:	33 5b 00             	xor    0x0(%ebx),%ebx
5b32f3:	6e                   	outsb  %ds:(%esi),(%dx)
5b32f4:	34 5b                	xor    $0x5b,%al
5b32f6:	00 fa                	add    %bh,%dl
5b32f8:	34 5b                	xor    $0x5b,%al
5b32fa:	00 94 35 5b 00 22 36 	add    %dl,0x3622005b(%ebp,%esi,1)
5b3301:	5b                   	pop    %ebx
5b3302:	00 b0 36 5b 00 8b    	add    %dh,-0x74ffa4ca(%eax)
5b3308:	45                   	inc    %ebp
5b3309:	f8                   	clc
5b330a:	8b 10                	mov    (%eax),%edx
5b330c:	ff 52 08             	call   *0x8(%edx)
5b330f:	48                   	dec    %eax
5b3310:	85 c0                	test   %eax,%eax
5b3312:	0f 8c 2d 04 00 00    	jl     0x5b3745
5b3318:	40                   	inc    %eax
5b3319:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b331c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b3323:	db 45 f0             	fildl  -0x10(%ebp)
5b3326:	dc 4d d8             	fmull  -0x28(%ebp)
5b3329:	e8 9e f9 e4 ff       	call   0x402ccc
5b332e:	8b d0                	mov    %eax,%edx
5b3330:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b3333:	8b 08                	mov    (%eax),%ecx
5b3335:	ff 11                	call   *(%ecx)