40d0cc:	b9 57 00 07 80       	mov    $0x80070057,%ecx
40d0d1:	eb 05                	jmp    0x40d0d8
40d0d3:	6a 06                	push   $0x6
40d0d5:	5a                   	pop    %edx
40d0d6:	8b c8                	mov    %eax,%ecx
40d0d8:	e8 06 a5 ff ff       	call   0x4075e3
40d0dd:	8b cf                	mov    %edi,%ecx
40d0df:	e8 f7 93 ff ff       	call   0x4064db
40d0e4:	50                   	push   %eax
40d0e5:	6a 26                	push   $0x26
40d0e7:	ff 15 70 20 41 00    	call   *0x412070
40d0ed:	50                   	push   %eax
40d0ee:	e8 22 a5 ff ff       	call   0x407615
40d0f3:	cc                   	int3
40d0f4:	8b ff                	mov    %edi,%edi
40d0f6:	55                   	push   %ebp
40d0f7:	8b ec                	mov    %esp,%ebp
40d0f9:	8b 45 0c             	mov    0xc(%ebp),%eax
40d0fc:	56                   	push   %esi
40d0fd:	33 f6                	xor    %esi,%esi
40d0ff:	85 c0                	test   %eax,%eax
40d101:	74 07                	je     0x40d10a
40d103:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40d108:	76 05                	jbe    0x40d10f
40d10a:	be 57 00 07 80       	mov    $0x80070057,%esi
40d10f:	85 f6                	test   %esi,%esi
40d111:	78 37                	js     0x40d14a
40d113:	53                   	push   %ebx
40d114:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d117:	33 f6                	xor    %esi,%esi
40d119:	57                   	push   %edi
40d11a:	8d 78 ff             	lea    -0x1(%eax),%edi
40d11d:	8d 45 14             	lea    0x14(%ebp),%eax
40d120:	50                   	push   %eax
40d121:	ff 75 10             	push   0x10(%ebp)
40d124:	57                   	push   %edi
40d125:	53                   	push   %ebx
40d126:	ff 15 9c 21 41 00    	call   *0x41219c
40d12c:	83 c4 10             	add    $0x10,%esp
40d12f:	85 c0                	test   %eax,%eax
40d131:	78 08                	js     0x40d13b
40d133:	3b c7                	cmp    %edi,%eax
40d135:	77 04                	ja     0x40d13b
40d137:	75 0d                	jne    0x40d146
40d139:	eb 05                	jmp    0x40d140
40d13b:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40d140:	33 c0                	xor    %eax,%eax
40d142:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
40d146:	5f                   	pop    %edi
40d147:	5b                   	pop    %ebx
40d148:	eb 0c                	jmp    0x40d156
40d14a:	85 c0                	test   %eax,%eax
40d14c:	74 08                	je     0x40d156
40d14e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d151:	33 c0                	xor    %eax,%eax
40d153:	66 89 01             	mov    %ax,(%ecx)
40d156:	8b c6                	mov    %esi,%eax
40d158:	5e                   	pop    %esi
40d159:	5d                   	pop    %ebp
40d15a:	c3                   	ret
40d15b:	cc                   	int3
40d15c:	cc                   	int3
40d15d:	cc                   	int3
40d15e:	cc                   	int3
40d15f:	cc                   	int3
40d160:	6a 31                	push   $0x31
40d162:	e8 d5 93 ff ff       	call   0x40653c
40d167:	c3                   	ret
40d168:	cc                   	int3
40d169:	cc                   	int3
40d16a:	cc                   	int3
40d16b:	cc                   	int3
40d16c:	cc                   	int3
40d16d:	cc                   	int3
40d16e:	cc                   	int3
40d16f:	cc                   	int3
40d170:	8b ff                	mov    %edi,%edi
40d172:	55                   	push   %ebp
40d173:	8b ec                	mov    %esp,%ebp
40d175:	51                   	push   %ecx
40d176:	56                   	push   %esi
40d177:	8b f1                	mov    %ecx,%esi
40d179:	6a 01                	push   $0x1
40d17b:	6a 01                	push   $0x1
40d17d:	8b 4e 08             	mov    0x8(%esi),%ecx
40d180:	e8 3c 9a ff ff       	call   0x406bc1
40d185:	8b 4e 08             	mov    0x8(%esi),%ecx
40d188:	68 54 11 41 00       	push   $0x411154
40d18d:	e8 fe 98 ff ff       	call   0x406a90
40d192:	8b 4e 08             	mov    0x8(%esi),%ecx
40d195:	8d 45 ff             	lea    -0x1(%ebp),%eax
40d198:	50                   	push   %eax
40d199:	6a 00                	push   $0x0
40d19b:	68 64 46 40 00       	push   $0x404664
40d1a0:	68 58 46 40 00       	push   $0x404658
40d1a5:	e8 01 98 ff ff       	call   0x4069ab
40d1aa:	88 46 18             	mov    %al,0x18(%esi)
40d1ad:	5e                   	pop    %esi
40d1ae:	c9                   	leave
40d1af:	c3                   	ret
40d1b0:	6a 48                	push   $0x48
40d1b2:	b8 ed f4 40 00       	mov    $0x40f4ed,%eax
40d1b7:	e8 92 14 00 00       	call   0x40e64e
40d1bc:	8b f9                	mov    %ecx,%edi
40d1be:	33 f6                	xor    %esi,%esi
40d1c0:	89 75 dc             	mov    %esi,-0x24(%ebp)
40d1c3:	89 75 e0             	mov    %esi,-0x20(%ebp)
40d1c6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40d1c9:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d1cc:	89 75 b8             	mov    %esi,-0x48(%ebp)
40d1cf:	89 75 bc             	mov    %esi,-0x44(%ebp)
40d1d2:	89 75 c0             	mov    %esi,-0x40(%ebp)
40d1d5:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40d1d8:	89 75 c8             	mov    %esi,-0x38(%ebp)
40d1db:	89 75 cc             	mov    %esi,-0x34(%ebp)
40d1de:	56                   	push   %esi
40d1df:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d1e3:	ff 15 b0 20 41 00    	call   *0x4120b0
40d1e9:	56                   	push   %esi
40d1ea:	6a 36                	push   $0x36
40d1ec:	8d 55 dc             	lea    -0x24(%ebp),%edx
40d1ef:	8b c8                	mov    %eax,%ecx
40d1f1:	e8 b3 06 00 00       	call   0x40d8a9
40d1f6:	56                   	push   %esi
40d1f7:	ff 15 b0 20 41 00    	call   *0x4120b0
40d1fd:	56                   	push   %esi
40d1fe:	6a 37                	push   $0x37
40d200:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d203:	8b c8                	mov    %eax,%ecx
40d205:	e8 9f 06 00 00       	call   0x40d8a9
40d20a:	56                   	push   %esi
40d20b:	ff 15 b0 20 41 00    	call   *0x4120b0
40d211:	56                   	push   %esi
40d212:	6a 38                	push   $0x38
40d214:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40d217:	8b c8                	mov    %eax,%ecx
40d219:	e8 8b 06 00 00       	call   0x40d8a9
40d21e:	8b de                	mov    %esi,%ebx
40d220:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40d223:	8b ce                	mov    %esi,%ecx
40d225:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40d228:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40d22b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d22f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d232:	8b 75 dc             	mov    -0x24(%ebp),%esi
40d235:	2b c6                	sub    %esi,%eax
40d237:	d1 f8                	sar    $1,%eax
40d239:	83 c0 20             	add    $0x20,%eax
40d23c:	74 1a                	je     0x40d258
40d23e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40d243:	0f 87 a8 01 00 00    	ja     0x40d3f1
40d249:	50                   	push   %eax
40d24a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40d24d:	e8 a0 a7 ff ff       	call   0x4079f2
40d252:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40d255:	8b 5d d0             	mov    -0x30(%ebp),%ebx
40d258:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d25b:	2b cb                	sub    %ebx,%ecx
40d25d:	d1 f9                	sar    $1,%ecx
40d25f:	0f b7 00             	movzwl (%eax),%eax
40d262:	50                   	push   %eax
40d263:	8b 45 b8             	mov    -0x48(%ebp),%eax
40d266:	0f b7 00             	movzwl (%eax),%eax
40d269:	50                   	push   %eax
40d26a:	56                   	push   %esi
40d26b:	51                   	push   %ecx
40d26c:	53                   	push   %ebx
40d26d:	e8 82 fe ff ff       	call   0x40d0f4
40d272:	33 f6                	xor    %esi,%esi
40d274:	83 c4 14             	add    $0x14,%esp
40d277:	89 75 ac             	mov    %esi,-0x54(%ebp)
40d27a:	89 75 b0             	mov    %esi,-0x50(%ebp)
40d27d:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40d280:	6a 40                	push   $0x40
40d282:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40d285:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40d289:	e8 5f a6 ff ff       	call   0x4078ed
40d28e:	80 7f 18 00          	cmpb   $0x0,0x18(%edi)
40d292:	8b 7d ac             	mov    -0x54(%ebp),%edi
40d295:	0f 85 d4 00 00 00    	jne    0x40d36f
40d29b:	8b 75 b0             	mov    -0x50(%ebp),%esi
40d29e:	2b f7                	sub    %edi,%esi
40d2a0:	d1 fe                	sar    $1,%esi
40d2a2:	53                   	push   %ebx
40d2a3:	68 bc 21 40 00       	push   $0x4021bc
40d2a8:	ff 15 94 21 41 00    	call   *0x412194
40d2ae:	59                   	pop    %ecx
40d2af:	33 db                	xor    %ebx,%ebx
40d2b1:	59                   	pop    %ecx
40d2b2:	85 f6                	test   %esi,%esi
40d2b4:	74 08                	je     0x40d2be
40d2b6:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
40d2bc:	76 05                	jbe    0x40d2c3
40d2be:	bb 57 00 07 80       	mov    $0x80070057,%ebx
40d2c3:	85 db                	test   %ebx,%ebx
40d2c5:	78 6d                	js     0x40d334
40d2c7:	33 db                	xor    %ebx,%ebx
40d2c9:	89 75 e8             	mov    %esi,-0x18(%ebp)
40d2cc:	21 5d ec             	and    %ebx,-0x14(%ebp)
40d2cf:	89 7d f0             	mov    %edi,-0x10(%ebp)
40d2d2:	83 fe 01             	cmp    $0x1,%esi
40d2d5:	75 07                	jne    0x40d2de
40d2d7:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
40d2dc:	eb 5a                	jmp    0x40d338
40d2de:	76 4b                	jbe    0x40d32b
40d2e0:	6a 00                	push   $0x0
40d2e2:	e8 36 18 00 00       	call   0x40eb1d
40d2e7:	50                   	push   %eax
40d2e8:	ff 15 98 21 41 00    	call   *0x412198
40d2ee:	59                   	pop    %ecx
40d2ef:	59                   	pop    %ecx
40d2f0:	0f b7 c8             	movzwl %ax,%ecx
40d2f3:	b8 ff ff 00 00       	mov    $0xffff,%eax
40d2f8:	66 3b c8             	cmp    %ax,%cx
40d2fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
40d2fe:	74 1f                	je     0x40d31f
40d300:	83 f9 0a             	cmp    $0xa,%ecx
40d303:	74 28                	je     0x40d32d
40d305:	66 89 08             	mov    %cx,(%eax)
40d308:	83 c0 02             	add    $0x2,%eax
40d30b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40d30e:	49                   	dec    %ecx
40d30f:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d312:	ff 45 ec             	incl   -0x14(%ebp)
40d315:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40d318:	83 f9 01             	cmp    $0x1,%ecx
40d31b:	77 c3                	ja     0x40d2e0
40d31d:	eb 0e                	jmp    0x40d32d
40d31f:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
40d322:	75 09                	jne    0x40d32d
40d324:	bb 26 00 07 80       	mov    $0x80070026,%ebx
40d329:	eb 02                	jmp    0x40d32d
40d32b:	8b c7                	mov    %edi,%eax
40d32d:	33 c9                	xor    %ecx,%ecx
40d32f:	66 89 08             	mov    %cx,(%eax)
40d332:	eb 09                	jmp    0x40d33d
40d334:	85 f6                	test   %esi,%esi
40d336:	74 05                	je     0x40d33d
40d338:	33 c0                	xor    %eax,%eax
40d33a:	66 89 07             	mov    %ax,(%edi)
40d33d:	85 db                	test   %ebx,%ebx
40d33f:	0f 88 b1 00 00 00    	js     0x40d3f6
40d345:	ff 75 b8             	push   -0x48(%ebp)
40d348:	57                   	push   %edi
40d349:	ff 15 a0 21 41 00    	call   *0x4121a0
40d34f:	59                   	pop    %ecx
40d350:	59                   	pop    %ecx
40d351:	85 c0                	test   %eax,%eax
40d353:	74 18                	je     0x40d36d
40d355:	ff 75 c4             	push   -0x3c(%ebp)
40d358:	57                   	push   %edi
40d359:	ff 15 a0 21 41 00    	call   *0x4121a0
40d35f:	59                   	pop    %ecx
40d360:	59                   	pop    %ecx
40d361:	85 c0                	test   %eax,%eax
40d363:	74 48                	je     0x40d3ad
40d365:	8b 5d d0             	mov    -0x30(%ebp),%ebx
40d368:	e9 35 ff ff ff       	jmp    0x40d2a2
40d36d:	33 f6                	xor    %esi,%esi
40d36f:	ff 15 04 20 41 00    	call   *0x412004
40d375:	85 c0                	test   %eax,%eax
40d377:	75 0d                	jne    0x40d386
40d379:	ff 15 70 20 41 00    	call   *0x412070
40d37f:	6a 32                	push   $0x32
40d381:	5a                   	pop    %edx
40d382:	8b c8                	mov    %eax,%ecx
40d384:	eb 75                	jmp    0x40d3fb
40d386:	56                   	push   %esi
40d387:	ff 15 b0 20 41 00    	call   *0x4120b0
40d38d:	56                   	push   %esi
40d38e:	6a 39                	push   $0x39
40d390:	8d 55 dc             	lea    -0x24(%ebp),%edx
40d393:	8b c8                	mov    %eax,%ecx
40d395:	e8 0f 05 00 00       	call   0x40d8a9
40d39a:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40d39d:	53                   	push   %ebx
40d39e:	68 bc 21 40 00       	push   $0x4021bc
40d3a3:	ff 15 94 21 41 00    	call   *0x412194
40d3a9:	59                   	pop    %ecx
40d3aa:	59                   	pop    %ecx
40d3ab:	eb 03                	jmp    0x40d3b0
40d3ad:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40d3b0:	85 ff                	test   %edi,%edi
40d3b2:	74 08                	je     0x40d3bc
40d3b4:	57                   	push   %edi
40d3b5:	ff 15 e4 21 41 00    	call   *0x4121e4
40d3bb:	59                   	pop    %ecx
40d3bc:	8b 45 d0             	mov    -0x30(%ebp),%eax
40d3bf:	85 c0                	test   %eax,%eax
40d3c1:	74 08                	je     0x40d3cb
40d3c3:	50                   	push   %eax
40d3c4:	ff 15 e4 21 41 00    	call   *0x4121e4
40d3ca:	59                   	pop    %ecx
40d3cb:	ff 75 c4             	push   -0x3c(%ebp)
40d3ce:	ff 15 e4 21 41 00    	call   *0x4121e4
40d3d4:	ff 75 b8             	push   -0x48(%ebp)
40d3d7:	ff 15 e4 21 41 00    	call   *0x4121e4
40d3dd:	59                   	pop    %ecx
40d3de:	59                   	pop    %ecx
40d3df:	85 db                	test   %ebx,%ebx
40d3e1:	74 08                	je     0x40d3eb
40d3e3:	53                   	push   %ebx
40d3e4:	ff 15 e4 21 41 00    	call   *0x4121e4
40d3ea:	59                   	pop    %ecx
40d3eb:	e8 2c 12 00 00       	call   0x40e61c
40d3f0:	c3                   	ret
40d3f1:	e8 54 99 ff ff       	call   0x406d4a
40d3f6:	6a 32                	push   $0x32
40d3f8:	5a                   	pop    %edx
40d3f9:	8b cb                	mov    %ebx,%ecx
40d3fb:	e8 e3 a1 ff ff       	call   0x4075e3
40d400:	cc                   	int3
40d401:	8b ff                	mov    %edi,%edi
40d403:	55                   	push   %ebp
40d404:	8b ec                	mov    %esp,%ebp
40d406:	8b 45 0c             	mov    0xc(%ebp),%eax
40d409:	33 d2                	xor    %edx,%edx
40d40b:	83 49 1c ff          	orl    $0xffffffff,0x1c(%ecx)
40d40f:	89 41 08             	mov    %eax,0x8(%ecx)
40d412:	8b 45 08             	mov    0x8(%ebp),%eax
40d415:	89 41 18             	mov    %eax,0x18(%ecx)
40d418:	8b 45 10             	mov    0x10(%ebp),%eax
40d41b:	89 41 20             	mov    %eax,0x20(%ecx)
40d41e:	8b c1                	mov    %ecx,%eax
40d420:	88 51 04             	mov    %dl,0x4(%ecx)
40d423:	89 51 0c             	mov    %edx,0xc(%ecx)
40d426:	89 51 10             	mov    %edx,0x10(%ecx)
40d429:	89 51 14             	mov    %edx,0x14(%ecx)
40d42c:	c7 01 e4 15 40 00    	movl   $0x4015e4,(%ecx)
40d432:	5d                   	pop    %ebp
40d433:	c2 0c 00             	ret    $0xc
40d436:	cc                   	int3
40d437:	cc                   	int3
40d438:	cc                   	int3
40d439:	cc                   	int3
40d43a:	cc                   	int3
40d43b:	cc                   	int3
40d43c:	cc                   	int3
40d43d:	cc                   	int3
40d43e:	cc                   	int3
40d43f:	cc                   	int3
40d440:	ff 71 0c             	push   0xc(%ecx)
40d443:	c7 01 e4 15 40 00    	movl   $0x4015e4,(%ecx)
40d449:	ff 15 c4 21 41 00    	call   *0x4121c4
40d44f:	59                   	pop    %ecx
40d450:	c3                   	ret
40d451:	cc                   	int3
40d452:	cc                   	int3
40d453:	cc                   	int3
40d454:	cc                   	int3