ad71bd:	8b d8                	mov    %eax,%ebx
ad71bf:	6a 01                	push   $0x1
ad71c1:	53                   	push   %ebx
ad71c2:	e8 f1 da 93 ff       	call   0x414cb8
ad71c7:	8b f0                	mov    %eax,%esi
ad71c9:	59                   	pop    %ecx
ad71ca:	59                   	pop    %ecx
ad71cb:	85 f6                	test   %esi,%esi
ad71cd:	75 0d                	jne    0xad71dc
ad71cf:	e8 9b 76 96 ff       	call   0x43e86f
ad71d4:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
ad71da:	eb 17                	jmp    0xad71f3
ad71dc:	53                   	push   %ebx
ad71dd:	ff 75 08             	push   0x8(%ebp)
ad71e0:	56                   	push   %esi
ad71e1:	e8 cb 00 00 00       	call   0xad72b1
ad71e6:	83 c4 0c             	add    $0xc,%esp
ad71e9:	85 c0                	test   %eax,%eax
ad71eb:	74 06                	je     0xad71f3
ad71ed:	8b ce                	mov    %esi,%ecx
ad71ef:	8b f7                	mov    %edi,%esi
ad71f1:	8b f9                	mov    %ecx,%edi
ad71f3:	56                   	push   %esi
ad71f4:	e8 d9 e6 95 ff       	call   0x4358d2
ad71f9:	59                   	pop    %ecx
ad71fa:	5e                   	pop    %esi
ad71fb:	8b c7                	mov    %edi,%eax
ad71fd:	5b                   	pop    %ebx
ad71fe:	5f                   	pop    %edi
ad71ff:	5d                   	pop    %ebp
ad7200:	c3                   	ret
ad7201:	cc                   	int3
ad7202:	cc                   	int3
ad7203:	cc                   	int3
ad7204:	cc                   	int3
ad7205:	cc                   	int3
ad7206:	cc                   	int3
ad7207:	cc                   	int3
ad7208:	cc                   	int3
ad7209:	cc                   	int3
ad720a:	cc                   	int3
ad720b:	cc                   	int3
ad720c:	cc                   	int3
ad720d:	cc                   	int3
ad720e:	cc                   	int3
ad720f:	cc                   	int3
ad7210:	cc                   	int3
ad7211:	cc                   	int3
ad7212:	cc                   	int3
ad7213:	cc                   	int3
ad7214:	cc                   	int3
ad7215:	cc                   	int3
ad7216:	cc                   	int3
ad7217:	cc                   	int3
ad7218:	cc                   	int3
ad7219:	cc                   	int3
ad721a:	cc                   	int3
ad721b:	cc                   	int3
ad721c:	cc                   	int3
ad721d:	cc                   	int3
ad721e:	8b ff                	mov    %edi,%edi
ad7220:	55                   	push   %ebp
ad7221:	8b ec                	mov    %esp,%ebp
ad7223:	57                   	push   %edi
ad7224:	33 ff                	xor    %edi,%edi
ad7226:	57                   	push   %edi
ad7227:	57                   	push   %edi
ad7228:	57                   	push   %edi
ad7229:	ff 75 08             	push   0x8(%ebp)
ad722c:	ff 15 10 36 d8 00    	call   *0xd83610
ad7232:	85 c0                	test   %eax,%eax
ad7234:	75 11                	jne    0xad7247
ad7236:	ff 15 d4 36 d8 00    	call   *0xd836d4
ad723c:	50                   	push   %eax
ad723d:	e8 93 86 93 ff       	call   0x40f8d5
ad7242:	59                   	pop    %ecx
ad7243:	33 c0                	xor    %eax,%eax
ad7245:	eb 4a                	jmp    0xad7291
ad7247:	53                   	push   %ebx
ad7248:	8b 5d 0c             	mov    0xc(%ebp),%ebx
ad724b:	56                   	push   %esi
ad724c:	3b d8                	cmp    %eax,%ebx
ad724e:	77 02                	ja     0xad7252
ad7250:	8b d8                	mov    %eax,%ebx
ad7252:	6a 02                	push   $0x2
ad7254:	53                   	push   %ebx
ad7255:	e8 5e da 93 ff       	call   0x414cb8
ad725a:	8b f0                	mov    %eax,%esi
ad725c:	59                   	pop    %ecx
ad725d:	59                   	pop    %ecx
ad725e:	85 f6                	test   %esi,%esi
ad7260:	75 0d                	jne    0xad726f
ad7262:	e8 08 76 96 ff       	call   0x43e86f
ad7267:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
ad726d:	eb 17                	jmp    0xad7286
ad726f:	53                   	push   %ebx
ad7270:	ff 75 08             	push   0x8(%ebp)
ad7273:	56                   	push   %esi
ad7274:	e8 ae 00 00 00       	call   0xad7327
ad7279:	83 c4 0c             	add    $0xc,%esp
ad727c:	85 c0                	test   %eax,%eax
ad727e:	74 06                	je     0xad7286
ad7280:	8b ce                	mov    %esi,%ecx
ad7282:	8b f7                	mov    %edi,%esi
ad7284:	8b f9                	mov    %ecx,%edi
ad7286:	56                   	push   %esi
ad7287:	e8 46 e6 95 ff       	call   0x4358d2
ad728c:	59                   	pop    %ecx
ad728d:	5e                   	pop    %esi
ad728e:	8b c7                	mov    %edi,%eax
ad7290:	5b                   	pop    %ebx
ad7291:	5f                   	pop    %edi
ad7292:	5d                   	pop    %ebp
ad7293:	c3                   	ret
ad7294:	cc                   	int3
ad7295:	cc                   	int3
ad7296:	cc                   	int3
ad7297:	cc                   	int3
ad7298:	cc                   	int3
ad7299:	cc                   	int3
ad729a:	cc                   	int3
ad729b:	cc                   	int3
ad729c:	cc                   	int3
ad729d:	cc                   	int3
ad729e:	cc                   	int3
ad729f:	cc                   	int3
ad72a0:	cc                   	int3
ad72a1:	cc                   	int3
ad72a2:	cc                   	int3
ad72a3:	cc                   	int3
ad72a4:	cc                   	int3
ad72a5:	cc                   	int3
ad72a6:	cc                   	int3
ad72a7:	cc                   	int3
ad72a8:	cc                   	int3
ad72a9:	cc                   	int3
ad72aa:	cc                   	int3
ad72ab:	cc                   	int3
ad72ac:	cc                   	int3
ad72ad:	cc                   	int3
ad72ae:	cc                   	int3
ad72af:	cc                   	int3
ad72b0:	cc                   	int3
ad72b1:	8b ff                	mov    %edi,%edi
ad72b3:	55                   	push   %ebp
ad72b4:	8b ec                	mov    %esp,%ebp
ad72b6:	56                   	push   %esi
ad72b7:	8b 75 10             	mov    0x10(%ebp),%esi
ad72ba:	85 f6                	test   %esi,%esi
ad72bc:	75 14                	jne    0xad72d2
ad72be:	e8 ac 75 96 ff       	call   0x43e86f
ad72c3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ad72c9:	e8 2a 80 94 ff       	call   0x41f2f8
ad72ce:	33 c0                	xor    %eax,%eax
ad72d0:	eb 3b                	jmp    0xad730d
ad72d2:	83 fe ff             	cmp    $0xffffffff,%esi
ad72d5:	76 0d                	jbe    0xad72e4
ad72d7:	e8 93 75 96 ff       	call   0x43e86f
ad72dc:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
ad72e2:	eb ea                	jmp    0xad72ce
ad72e4:	6a 00                	push   $0x0
ad72e6:	ff 75 08             	push   0x8(%ebp)
ad72e9:	56                   	push   %esi
ad72ea:	ff 75 0c             	push   0xc(%ebp)
ad72ed:	ff 15 74 38 d8 00    	call   *0xd83874
ad72f3:	3b c6                	cmp    %esi,%eax
ad72f5:	73 e0                	jae    0xad72d7
ad72f7:	85 c0                	test   %eax,%eax
ad72f9:	75 0f                	jne    0xad730a
ad72fb:	ff 15 d4 36 d8 00    	call   *0xd836d4
ad7301:	50                   	push   %eax
ad7302:	e8 ce 85 93 ff       	call   0x40f8d5
ad7307:	59                   	pop    %ecx
ad7308:	eb c4                	jmp    0xad72ce
ad730a:	8b 45 08             	mov    0x8(%ebp),%eax
ad730d:	5e                   	pop    %esi
ad730e:	5d                   	pop    %ebp
ad730f:	c3                   	ret
ad7310:	cc                   	int3
ad7311:	cc                   	int3
ad7312:	cc                   	int3
ad7313:	cc                   	int3
ad7314:	cc                   	int3
ad7315:	cc                   	int3
ad7316:	cc                   	int3
ad7317:	cc                   	int3
ad7318:	cc                   	int3
ad7319:	cc                   	int3
ad731a:	cc                   	int3
ad731b:	cc                   	int3
ad731c:	cc                   	int3
ad731d:	cc                   	int3
ad731e:	cc                   	int3
ad731f:	cc                   	int3
ad7320:	cc                   	int3
ad7321:	cc                   	int3
ad7322:	cc                   	int3
ad7323:	cc                   	int3
ad7324:	cc                   	int3
ad7325:	cc                   	int3
ad7326:	cc                   	int3
ad7327:	8b ff                	mov    %edi,%edi
ad7329:	55                   	push   %ebp
ad732a:	8b ec                	mov    %esp,%ebp
ad732c:	56                   	push   %esi
ad732d:	8b 75 10             	mov    0x10(%ebp),%esi
ad7330:	85 f6                	test   %esi,%esi
ad7332:	75 14                	jne    0xad7348
ad7334:	e8 36 75 96 ff       	call   0x43e86f
ad7339:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ad733f:	e8 b4 7f 94 ff       	call   0x41f2f8
ad7344:	33 c0                	xor    %eax,%eax
ad7346:	eb 3b                	jmp    0xad7383
ad7348:	83 fe ff             	cmp    $0xffffffff,%esi
ad734b:	76 0d                	jbe    0xad735a
ad734d:	e8 1d 75 96 ff       	call   0x43e86f
ad7352:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
ad7358:	eb ea                	jmp    0xad7344
ad735a:	6a 00                	push   $0x0
ad735c:	ff 75 08             	push   0x8(%ebp)
ad735f:	56                   	push   %esi
ad7360:	ff 75 0c             	push   0xc(%ebp)
ad7363:	ff 15 10 36 d8 00    	call   *0xd83610
ad7369:	3b c6                	cmp    %esi,%eax
ad736b:	73 e0                	jae    0xad734d
ad736d:	85 c0                	test   %eax,%eax
ad736f:	75 0f                	jne    0xad7380
ad7371:	ff 15 d4 36 d8 00    	call   *0xd836d4
ad7377:	50                   	push   %eax
ad7378:	e8 58 85 93 ff       	call   0x40f8d5
ad737d:	59                   	pop    %ecx
ad737e:	eb c4                	jmp    0xad7344
ad7380:	8b 45 08             	mov    0x8(%ebp),%eax
ad7383:	5e                   	pop    %esi
ad7384:	5d                   	pop    %ebp
ad7385:	c3                   	ret
ad7386:	cc                   	int3
ad7387:	cc                   	int3
ad7388:	cc                   	int3
ad7389:	cc                   	int3
ad738a:	cc                   	int3
ad738b:	cc                   	int3
ad738c:	cc                   	int3
ad738d:	cc                   	int3
ad738e:	cc                   	int3
ad738f:	cc                   	int3
ad7390:	cc                   	int3
ad7391:	cc                   	int3
ad7392:	cc                   	int3
ad7393:	cc                   	int3
ad7394:	cc                   	int3
ad7395:	cc                   	int3
ad7396:	cc                   	int3
ad7397:	cc                   	int3
ad7398:	cc                   	int3
ad7399:	cc                   	int3
ad739a:	cc                   	int3
ad739b:	cc                   	int3
ad739c:	cc                   	int3
ad739d:	8b ff                	mov    %edi,%edi
ad739f:	55                   	push   %ebp
ad73a0:	8b ec                	mov    %esp,%ebp
ad73a2:	8b 45 0c             	mov    0xc(%ebp),%eax
ad73a5:	ff 30                	push   (%eax)
ad73a7:	8b 45 08             	mov    0x8(%ebp),%eax
ad73aa:	ff 30                	push   (%eax)
ad73ac:	e8 c4 3d 95 ff       	call   0x42b175
ad73b1:	59                   	pop    %ecx
ad73b2:	59                   	pop    %ecx
ad73b3:	5d                   	pop    %ebp
ad73b4:	c3                   	ret
ad73b5:	cc                   	int3
ad73b6:	cc                   	int3
ad73b7:	cc                   	int3
ad73b8:	cc                   	int3
ad73b9:	cc                   	int3
ad73ba:	cc                   	int3
ad73bb:	8b ff                	mov    %edi,%edi
ad73bd:	55                   	push   %ebp
ad73be:	8b ec                	mov    %esp,%ebp
ad73c0:	8b 45 0c             	mov    0xc(%ebp),%eax
ad73c3:	ff 30                	push   (%eax)
ad73c5:	8b 45 08             	mov    0x8(%ebp),%eax
ad73c8:	ff 30                	push   (%eax)
ad73ca:	e8 3f cc 95 ff       	call   0x43400e
ad73cf:	59                   	pop    %ecx
ad73d0:	59                   	pop    %ecx
ad73d1:	5d                   	pop    %ebp
ad73d2:	c3                   	ret
ad73d3:	cc                   	int3
ad73d4:	cc                   	int3
ad73d5:	cc                   	int3
ad73d6:	cc                   	int3
ad73d7:	cc                   	int3
ad73d8:	cc                   	int3
ad73d9:	33 c0                	xor    %eax,%eax
ad73db:	39 01                	cmp    %eax,(%ecx)
ad73dd:	0f 95 c0             	setne  %al
ad73e0:	c3                   	ret
ad73e1:	cc                   	int3
ad73e2:	cc                   	int3
ad73e3:	8b ff                	mov    %edi,%edi
ad73e5:	55                   	push   %ebp
ad73e6:	8b ec                	mov    %esp,%ebp
ad73e8:	6a 00                	push   $0x0
ad73ea:	ff 75 08             	push   0x8(%ebp)
ad73ed:	ff 75 10             	push   0x10(%ebp)
ad73f0:	ff 75 0c             	push   0xc(%ebp)
ad73f3:	ff 15 74 38 d8 00    	call   *0xd83874
ad73f9:	5d                   	pop    %ebp
ad73fa:	c3                   	ret
ad73fb:	cc                   	int3
ad73fc:	cc                   	int3
ad73fd:	cc                   	int3
ad73fe:	cc                   	int3
ad73ff:	cc                   	int3
ad7400:	cc                   	int3
ad7401:	8b ff                	mov    %edi,%edi
ad7403:	55                   	push   %ebp
ad7404:	8b ec                	mov    %esp,%ebp
ad7406:	6a 00                	push   $0x0
ad7408:	ff 75 08             	push   0x8(%ebp)
ad740b:	ff 75 10             	push   0x10(%ebp)
ad740e:	ff 75 0c             	push   0xc(%ebp)
ad7411:	ff 15 10 36 d8 00    	call   *0xd83610
ad7417:	5d                   	pop    %ebp
ad7418:	c3                   	ret
ad7419:	cc                   	int3
ad741a:	cc                   	int3
ad741b:	cc                   	int3
ad741c:	cc                   	int3
ad741d:	cc                   	int3
ad741e:	cc                   	int3
ad741f:	33 c0                	xor    %eax,%eax
ad7421:	39 01                	cmp    %eax,(%ecx)
ad7423:	0f 95 c0             	setne  %al
ad7426:	c3                   	ret
ad7427:	cc                   	int3
ad7428:	cc                   	int3
ad7429:	8b ff                	mov    %edi,%edi
ad742b:	55                   	push   %ebp
ad742c:	8b ec                	mov    %esp,%ebp
ad742e:	8b 45 0c             	mov    0xc(%ebp),%eax
ad7431:	85 c0                	test   %eax,%eax
ad7433:	74 30                	je     0xad7465
ad7435:	80 38 00             	cmpb   $0x0,(%eax)
ad7438:	74 2b                	je     0xad7465
ad743a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ad743e:	74 11                	je     0xad7451
ad7440:	ff 75 10             	push   0x10(%ebp)