4d3123:	8b 06                	mov    (%esi),%eax
4d3125:	8b ce                	mov    %esi,%ecx
4d3127:	5f                   	pop    %edi
4d3128:	5e                   	pop    %esi
4d3129:	ff 60 04             	jmp    *0x4(%eax)
4d312c:	5f                   	pop    %edi
4d312d:	5e                   	pop    %esi
4d312e:	c3                   	ret
4d312f:	cc                   	int3
4d3130:	cc                   	int3
4d3131:	cc                   	int3
4d3132:	cc                   	int3
4d3133:	cc                   	int3
4d3134:	cc                   	int3
4d3135:	cc                   	int3
4d3136:	cc                   	int3
4d3137:	cc                   	int3
4d3138:	cc                   	int3
4d3139:	cc                   	int3
4d313a:	cc                   	int3
4d313b:	cc                   	int3
4d313c:	cc                   	int3
4d313d:	cc                   	int3
4d313e:	cc                   	int3
4d313f:	cc                   	int3
4d3140:	56                   	push   %esi
4d3141:	8b 71 04             	mov    0x4(%ecx),%esi
4d3144:	85 f6                	test   %esi,%esi
4d3146:	74 25                	je     0x4d316d
4d3148:	57                   	push   %edi
4d3149:	83 cf ff             	or     $0xffffffff,%edi
4d314c:	8b c7                	mov    %edi,%eax
4d314e:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
4d3153:	75 17                	jne    0x4d316c
4d3155:	8b 06                	mov    (%esi),%eax
4d3157:	8b ce                	mov    %esi,%ecx
4d3159:	ff 10                	call   *(%eax)
4d315b:	f0 0f c1 7e 08       	lock xadd %edi,0x8(%esi)
4d3160:	4f                   	dec    %edi
4d3161:	75 09                	jne    0x4d316c
4d3163:	8b 06                	mov    (%esi),%eax
4d3165:	8b ce                	mov    %esi,%ecx
4d3167:	5f                   	pop    %edi
4d3168:	5e                   	pop    %esi
4d3169:	ff 60 04             	jmp    *0x4(%eax)
4d316c:	5f                   	pop    %edi
4d316d:	5e                   	pop    %esi
4d316e:	c3                   	ret
4d316f:	cc                   	int3
4d3170:	cc                   	int3
4d3171:	cc                   	int3
4d3172:	cc                   	int3
4d3173:	cc                   	int3
4d3174:	cc                   	int3
4d3175:	cc                   	int3
4d3176:	cc                   	int3
4d3177:	cc                   	int3
4d3178:	cc                   	int3
4d3179:	cc                   	int3
4d317a:	cc                   	int3
4d317b:	cc                   	int3
4d317c:	cc                   	int3
4d317d:	cc                   	int3
4d317e:	cc                   	int3
4d317f:	cc                   	int3
4d3180:	8b 09                	mov    (%ecx),%ecx
4d3182:	85 c9                	test   %ecx,%ecx
4d3184:	74 06                	je     0x4d318c
4d3186:	8b 01                	mov    (%ecx),%eax
4d3188:	6a 01                	push   $0x1
4d318a:	ff 10                	call   *(%eax)
4d318c:	c3                   	ret
4d318d:	cc                   	int3
4d318e:	cc                   	int3
4d318f:	cc                   	int3
4d3190:	8b 09                	mov    (%ecx),%ecx
4d3192:	85 c9                	test   %ecx,%ecx
4d3194:	74 07                	je     0x4d319d
4d3196:	8b 01                	mov    (%ecx),%eax
4d3198:	6a 01                	push   $0x1
4d319a:	ff 50 10             	call   *0x10(%eax)
4d319d:	c3                   	ret
4d319e:	cc                   	int3
4d319f:	cc                   	int3
4d31a0:	cc                   	int3
4d31a1:	cc                   	int3
4d31a2:	cc                   	int3
4d31a3:	cc                   	int3
4d31a4:	cc                   	int3
4d31a5:	cc                   	int3
4d31a6:	cc                   	int3
4d31a7:	cc                   	int3
4d31a8:	cc                   	int3
4d31a9:	cc                   	int3
4d31aa:	cc                   	int3
4d31ab:	cc                   	int3
4d31ac:	cc                   	int3
4d31ad:	cc                   	int3
4d31ae:	cc                   	int3
4d31af:	cc                   	int3
4d31b0:	8b 09                	mov    (%ecx),%ecx
4d31b2:	85 c9                	test   %ecx,%ecx
4d31b4:	74 12                	je     0x4d31c8
4d31b6:	8b 41 04             	mov    0x4(%ecx),%eax
4d31b9:	83 c1 04             	add    $0x4,%ecx
4d31bc:	6a 01                	push   $0x1
4d31be:	8b 40 04             	mov    0x4(%eax),%eax
4d31c1:	03 c8                	add    %eax,%ecx
4d31c3:	8b 01                	mov    (%ecx),%eax
4d31c5:	ff 50 20             	call   *0x20(%eax)
4d31c8:	c3                   	ret
4d31c9:	cc                   	int3
4d31ca:	cc                   	int3
4d31cb:	cc                   	int3
4d31cc:	cc                   	int3
4d31cd:	cc                   	int3
4d31ce:	cc                   	int3
4d31cf:	cc                   	int3
4d31d0:	8b 09                	mov    (%ecx),%ecx
4d31d2:	85 c9                	test   %ecx,%ecx
4d31d4:	74 07                	je     0x4d31dd
4d31d6:	8b 01                	mov    (%ecx),%eax
4d31d8:	6a 01                	push   $0x1
4d31da:	ff 50 20             	call   *0x20(%eax)
4d31dd:	c3                   	ret
4d31de:	cc                   	int3
4d31df:	cc                   	int3
4d31e0:	cc                   	int3
4d31e1:	cc                   	int3
4d31e2:	cc                   	int3
4d31e3:	cc                   	int3
4d31e4:	cc                   	int3
4d31e5:	cc                   	int3
4d31e6:	cc                   	int3
4d31e7:	cc                   	int3
4d31e8:	cc                   	int3
4d31e9:	cc                   	int3
4d31ea:	cc                   	int3
4d31eb:	cc                   	int3
4d31ec:	cc                   	int3
4d31ed:	cc                   	int3
4d31ee:	cc                   	int3
4d31ef:	cc                   	int3
4d31f0:	56                   	push   %esi
4d31f1:	57                   	push   %edi
4d31f2:	8b f9                	mov    %ecx,%edi
4d31f4:	8b 57 0c             	mov    0xc(%edi),%edx
4d31f7:	85 d2                	test   %edx,%edx
4d31f9:	74 27                	je     0x4d3222
4d31fb:	8b 47 14             	mov    0x14(%edi),%eax
4d31fe:	8d 4f 0c             	lea    0xc(%edi),%ecx
4d3201:	2b c2                	sub    %edx,%eax
4d3203:	c1 f8 02             	sar    $0x2,%eax
4d3206:	50                   	push   %eax
4d3207:	52                   	push   %edx
4d3208:	e8 5a 49 f3 ff       	call   0x407b67
4d320d:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
4d3214:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4d321b:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4d3222:	8d 4f 04             	lea    0x4(%edi),%ecx
4d3225:	e8 90 8a f5 ff       	call   0x42bcba
4d322a:	ff 77 04             	push   0x4(%edi)
4d322d:	e8 5d e5 f2 ff       	call   0x40178f
4d3232:	83 c4 04             	add    $0x4,%esp
4d3235:	5f                   	pop    %edi
4d3236:	5e                   	pop    %esi
4d3237:	c3                   	ret
4d3238:	cc                   	int3
4d3239:	cc                   	int3
4d323a:	cc                   	int3
4d323b:	cc                   	int3
4d323c:	cc                   	int3
4d323d:	cc                   	int3
4d323e:	cc                   	int3
4d323f:	cc                   	int3
4d3240:	cc                   	int3
4d3241:	cc                   	int3
4d3242:	cc                   	int3
4d3243:	cc                   	int3
4d3244:	cc                   	int3
4d3245:	cc                   	int3
4d3246:	cc                   	int3
4d3247:	cc                   	int3
4d3248:	cc                   	int3
4d3249:	cc                   	int3
4d324a:	cc                   	int3
4d324b:	cc                   	int3
4d324c:	cc                   	int3
4d324d:	cc                   	int3
4d324e:	cc                   	int3
4d324f:	cc                   	int3
4d3250:	56                   	push   %esi
4d3251:	57                   	push   %edi
4d3252:	8b f9                	mov    %ecx,%edi
4d3254:	8b 57 0c             	mov    0xc(%edi),%edx
4d3257:	85 d2                	test   %edx,%edx
4d3259:	74 27                	je     0x4d3282
4d325b:	8b 47 14             	mov    0x14(%edi),%eax
4d325e:	8d 4f 0c             	lea    0xc(%edi),%ecx
4d3261:	2b c2                	sub    %edx,%eax
4d3263:	c1 f8 02             	sar    $0x2,%eax
4d3266:	50                   	push   %eax
4d3267:	52                   	push   %edx
4d3268:	e8 20 08 f5 ff       	call   0x423a8d
4d326d:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
4d3274:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4d327b:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4d3282:	8d 4f 04             	lea    0x4(%edi),%ecx
4d3285:	e8 ad 9f f4 ff       	call   0x41d237
4d328a:	ff 77 04             	push   0x4(%edi)
4d328d:	e8 fd e4 f2 ff       	call   0x40178f
4d3292:	83 c4 04             	add    $0x4,%esp
4d3295:	5f                   	pop    %edi
4d3296:	5e                   	pop    %esi
4d3297:	c3                   	ret
4d3298:	cc                   	int3
4d3299:	cc                   	int3
4d329a:	cc                   	int3
4d329b:	cc                   	int3
4d329c:	cc                   	int3
4d329d:	cc                   	int3
4d329e:	cc                   	int3
4d329f:	cc                   	int3
4d32a0:	cc                   	int3
4d32a1:	cc                   	int3
4d32a2:	cc                   	int3
4d32a3:	cc                   	int3
4d32a4:	cc                   	int3
4d32a5:	cc                   	int3
4d32a6:	cc                   	int3
4d32a7:	cc                   	int3
4d32a8:	cc                   	int3
4d32a9:	cc                   	int3
4d32aa:	cc                   	int3
4d32ab:	cc                   	int3
4d32ac:	cc                   	int3
4d32ad:	cc                   	int3
4d32ae:	cc                   	int3
4d32af:	cc                   	int3
4d32b0:	56                   	push   %esi
4d32b1:	8b f1                	mov    %ecx,%esi
4d32b3:	8b 0e                	mov    (%esi),%ecx
4d32b5:	85 c9                	test   %ecx,%ecx
4d32b7:	74 25                	je     0x4d32de
4d32b9:	8b 46 08             	mov    0x8(%esi),%eax
4d32bc:	2b c1                	sub    %ecx,%eax
4d32be:	c1 f8 02             	sar    $0x2,%eax
4d32c1:	50                   	push   %eax
4d32c2:	51                   	push   %ecx
4d32c3:	8b ce                	mov    %esi,%ecx
4d32c5:	e8 16 e4 f2 ff       	call   0x4016e0
4d32ca:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4d32d0:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4d32d7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4d32de:	5e                   	pop    %esi
4d32df:	c3                   	ret
4d32e0:	cc                   	int3
4d32e1:	cc                   	int3
4d32e2:	cc                   	int3
4d32e3:	cc                   	int3
4d32e4:	cc                   	int3
4d32e5:	cc                   	int3
4d32e6:	cc                   	int3
4d32e7:	cc                   	int3
4d32e8:	cc                   	int3
4d32e9:	cc                   	int3
4d32ea:	cc                   	int3
4d32eb:	cc                   	int3
4d32ec:	cc                   	int3
4d32ed:	cc                   	int3
4d32ee:	cc                   	int3
4d32ef:	cc                   	int3
4d32f0:	56                   	push   %esi
4d32f1:	8b f1                	mov    %ecx,%esi
4d32f3:	8b 0e                	mov    (%esi),%ecx
4d32f5:	85 c9                	test   %ecx,%ecx
4d32f7:	74 25                	je     0x4d331e
4d32f9:	8b 46 08             	mov    0x8(%esi),%eax
4d32fc:	2b c1                	sub    %ecx,%eax
4d32fe:	c1 f8 02             	sar    $0x2,%eax
4d3301:	50                   	push   %eax
4d3302:	51                   	push   %ecx
4d3303:	8b ce                	mov    %esi,%ecx
4d3305:	e8 5d 48 f3 ff       	call   0x407b67
4d330a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4d3310:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4d3317:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4d331e:	5e                   	pop    %esi
4d331f:	c3                   	ret
4d3320:	cc                   	int3
4d3321:	cc                   	int3
4d3322:	cc                   	int3
4d3323:	cc                   	int3
4d3324:	cc                   	int3
4d3325:	cc                   	int3
4d3326:	cc                   	int3
4d3327:	cc                   	int3
4d3328:	cc                   	int3
4d3329:	cc                   	int3
4d332a:	cc                   	int3
4d332b:	cc                   	int3
4d332c:	cc                   	int3
4d332d:	cc                   	int3
4d332e:	cc                   	int3
4d332f:	cc                   	int3
4d3330:	56                   	push   %esi
4d3331:	8b f1                	mov    %ecx,%esi
4d3333:	8b 0e                	mov    (%esi),%ecx
4d3335:	85 c9                	test   %ecx,%ecx
4d3337:	74 25                	je     0x4d335e
4d3339:	8b 46 08             	mov    0x8(%esi),%eax
4d333c:	2b c1                	sub    %ecx,%eax
4d333e:	c1 f8 02             	sar    $0x2,%eax
4d3341:	50                   	push   %eax
4d3342:	51                   	push   %ecx
4d3343:	8b ce                	mov    %esi,%ecx
4d3345:	e8 43 07 f5 ff       	call   0x423a8d
4d334a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4d3350:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4d3357:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4d335e:	5e                   	pop    %esi
4d335f:	c3                   	ret
4d3360:	cc                   	int3
4d3361:	cc                   	int3
4d3362:	cc                   	int3
4d3363:	cc                   	int3
4d3364:	cc                   	int3
4d3365:	cc                   	int3
4d3366:	cc                   	int3
4d3367:	cc                   	int3
4d3368:	cc                   	int3
4d3369:	cc                   	int3
4d336a:	cc                   	int3
4d336b:	cc                   	int3
4d336c:	cc                   	int3
4d336d:	cc                   	int3
4d336e:	cc                   	int3
4d336f:	cc                   	int3
4d3370:	51                   	push   %ecx
4d3371:	56                   	push   %esi
4d3372:	8b f1                	mov    %ecx,%esi
4d3374:	8b 06                	mov    (%esi),%eax
4d3376:	85 c0                	test   %eax,%eax
4d3378:	74 38                	je     0x4d33b2
4d337a:	ff 74 24 04          	push   0x4(%esp)
4d337e:	56                   	push   %esi
4d337f:	ff 76 04             	push   0x4(%esi)
4d3382:	50                   	push   %eax
4d3383:	e8 1a 3d f5 ff       	call   0x4270a2
4d3388:	8b 0e                	mov    (%esi),%ecx