407ee3:	f6 c1 20             	test   $0x20,%cl
407ee6:	74 04                	je     0x407eec
407ee8:	6a 08                	push   $0x8
407eea:	58                   	pop    %eax
407eeb:	c3                   	ret
407eec:	f6 c1 40             	test   $0x40,%cl
407eef:	74 03                	je     0x407ef4
407ef1:	6a 09                	push   $0x9
407ef3:	58                   	pop    %eax
407ef4:	c3                   	ret
407ef5:	8b ff                	mov    %edi,%edi
407ef7:	55                   	push   %ebp
407ef8:	8b ec                	mov    %esp,%ebp
407efa:	6a ff                	push   $0xffffffff
407efc:	68 1b 42 41 00       	push   $0x41421b
407f01:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407f07:	50                   	push   %eax
407f08:	a1 18 51 41 00       	mov    0x415118,%eax
407f0d:	33 c5                	xor    %ebp,%eax
407f0f:	50                   	push   %eax
407f10:	8d 45 f4             	lea    -0xc(%ebp),%eax
407f13:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407f19:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407f1d:	c7 01 54 15 40 00    	movl   $0x401554,(%ecx)
407f23:	e8 5e 08 00 00       	call   0x408786
407f28:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407f2b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407f32:	59                   	pop    %ecx
407f33:	c9                   	leave
407f34:	c3                   	ret
407f35:	6a 0c                	push   $0xc
407f37:	b8 f0 42 41 00       	mov    $0x4142f0,%eax
407f3c:	e8 fe bc 00 00       	call   0x413c3f
407f41:	8b f1                	mov    %ecx,%esi
407f43:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
407f47:	bf 54 15 40 00       	mov    $0x401554,%edi
407f4c:	89 7d e8             	mov    %edi,-0x18(%ebp)
407f4f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
407f56:	85 f6                	test   %esi,%esi
407f58:	74 23                	je     0x407f7d
407f5a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407f5d:	e8 24 08 00 00       	call   0x408786
407f62:	8d 45 ec             	lea    -0x14(%ebp),%eax
407f65:	50                   	push   %eax
407f66:	68 6d 01 00 00       	push   $0x16d
407f6b:	e8 ec ae 00 00       	call   0x412e5c
407f70:	85 c0                	test   %eax,%eax
407f72:	78 09                	js     0x407f7d
407f74:	56                   	push   %esi
407f75:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407f78:	e8 78 af 00 00       	call   0x412ef5
407f7d:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
407f84:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407f87:	89 7d e8             	mov    %edi,-0x18(%ebp)
407f8a:	e8 f7 07 00 00       	call   0x408786
407f8f:	e8 88 bc 00 00       	call   0x413c1c
407f94:	c3                   	ret
407f95:	6a 0c                	push   $0xc
407f97:	b8 f0 42 41 00       	mov    $0x4142f0,%eax
407f9c:	e8 9e bc 00 00       	call   0x413c3f
407fa1:	8b f1                	mov    %ecx,%esi
407fa3:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
407fa7:	bf 54 15 40 00       	mov    $0x401554,%edi
407fac:	89 7d e8             	mov    %edi,-0x18(%ebp)
407faf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
407fb6:	85 f6                	test   %esi,%esi
407fb8:	74 32                	je     0x407fec
407fba:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407fbd:	e8 c4 07 00 00       	call   0x408786
407fc2:	8d 45 ec             	lea    -0x14(%ebp),%eax
407fc5:	50                   	push   %eax
407fc6:	68 6d 01 00 00       	push   $0x16d
407fcb:	e8 8c ae 00 00       	call   0x412e5c
407fd0:	85 c0                	test   %eax,%eax
407fd2:	78 18                	js     0x407fec
407fd4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407fd7:	85 c9                	test   %ecx,%ecx
407fd9:	74 11                	je     0x407fec
407fdb:	8b 01                	mov    (%ecx),%eax
407fdd:	56                   	push   %esi
407fde:	51                   	push   %ecx
407fdf:	8b 70 1c             	mov    0x1c(%eax),%esi
407fe2:	8b ce                	mov    %esi,%ecx
407fe4:	ff 15 90 b3 41 00    	call   *0x41b390
407fea:	ff d6                	call   *%esi
407fec:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
407ff3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407ff6:	89 7d e8             	mov    %edi,-0x18(%ebp)
407ff9:	e8 88 07 00 00       	call   0x408786
407ffe:	e8 19 bc 00 00       	call   0x413c1c
408003:	c3                   	ret
408004:	6a 0c                	push   $0xc
408006:	b8 f0 42 41 00       	mov    $0x4142f0,%eax
40800b:	e8 2f bc 00 00       	call   0x413c3f
408010:	8b f1                	mov    %ecx,%esi
408012:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
408016:	bf 54 15 40 00       	mov    $0x401554,%edi
40801b:	89 7d e8             	mov    %edi,-0x18(%ebp)
40801e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408025:	85 f6                	test   %esi,%esi
408027:	74 23                	je     0x40804c
408029:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40802c:	e8 55 07 00 00       	call   0x408786
408031:	8d 45 ec             	lea    -0x14(%ebp),%eax
408034:	50                   	push   %eax
408035:	68 6c 01 00 00       	push   $0x16c
40803a:	e8 1d ae 00 00       	call   0x412e5c
40803f:	85 c0                	test   %eax,%eax
408041:	78 09                	js     0x40804c
408043:	56                   	push   %esi
408044:	8d 4d e8             	lea    -0x18(%ebp),%ecx
408047:	e8 a9 ae 00 00       	call   0x412ef5
40804c:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
408053:	8d 4d e8             	lea    -0x18(%ebp),%ecx
408056:	89 7d e8             	mov    %edi,-0x18(%ebp)
408059:	e8 28 07 00 00       	call   0x408786
40805e:	e8 b9 bb 00 00       	call   0x413c1c
408063:	c3                   	ret
408064:	6a 0c                	push   $0xc
408066:	b8 f0 42 41 00       	mov    $0x4142f0,%eax
40806b:	e8 cf bb 00 00       	call   0x413c3f
408070:	8b f9                	mov    %ecx,%edi
408072:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
408076:	bb 54 15 40 00       	mov    $0x401554,%ebx
40807b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40807e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408085:	85 ff                	test   %edi,%edi
408087:	74 3a                	je     0x4080c3
408089:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40808c:	e8 f5 06 00 00       	call   0x408786
408091:	8d 45 ec             	lea    -0x14(%ebp),%eax
408094:	50                   	push   %eax
408095:	68 6c 01 00 00       	push   $0x16c
40809a:	e8 bd ad 00 00       	call   0x412e5c
40809f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4080a2:	85 c9                	test   %ecx,%ecx
4080a4:	74 11                	je     0x4080b7
4080a6:	8b 01                	mov    (%ecx),%eax
4080a8:	57                   	push   %edi
4080a9:	51                   	push   %ecx
4080aa:	8b 70 1c             	mov    0x1c(%eax),%esi
4080ad:	8b ce                	mov    %esi,%ecx
4080af:	ff 15 90 b3 41 00    	call   *0x41b390
4080b5:	ff d6                	call   *%esi
4080b7:	ff 37                	push   (%edi)
4080b9:	68 06 01 00 00       	push   $0x106
4080be:	e8 38 ad 00 00       	call   0x412dfb
4080c3:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4080ca:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4080cd:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4080d0:	e8 b1 06 00 00       	call   0x408786
4080d5:	e8 42 bb 00 00       	call   0x413c1c
4080da:	c3                   	ret
4080db:	8b ff                	mov    %edi,%edi
4080dd:	55                   	push   %ebp
4080de:	8b ec                	mov    %esp,%ebp
4080e0:	51                   	push   %ecx
4080e1:	56                   	push   %esi
4080e2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4080e5:	33 f6                	xor    %esi,%esi
4080e7:	50                   	push   %eax
4080e8:	68 5b 01 00 00       	push   $0x15b
4080ed:	89 75 fc             	mov    %esi,-0x4(%ebp)
4080f0:	e8 d4 ac 00 00       	call   0x412dc9
4080f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4080f8:	2d 10 00 02 00       	sub    $0x20010,%eax
4080fd:	74 1e                	je     0x40811d
4080ff:	2d 12 00 0e 00       	sub    $0xe0012,%eax
408104:	74 12                	je     0x408118
408106:	83 e8 01             	sub    $0x1,%eax
408109:	74 09                	je     0x408114
40810b:	83 e8 01             	sub    $0x1,%eax
40810e:	75 10                	jne    0x408120
408110:	6a 03                	push   $0x3
408112:	eb 06                	jmp    0x40811a
408114:	6a 04                	push   $0x4
408116:	eb 02                	jmp    0x40811a
408118:	6a 02                	push   $0x2
40811a:	5e                   	pop    %esi
40811b:	eb 03                	jmp    0x408120
40811d:	33 f6                	xor    %esi,%esi
40811f:	46                   	inc    %esi
408120:	8b c6                	mov    %esi,%eax
408122:	5e                   	pop    %esi
408123:	c9                   	leave
408124:	c3                   	ret
408125:	33 c0                	xor    %eax,%eax
408127:	83 e9 01             	sub    $0x1,%ecx
40812a:	74 24                	je     0x408150
40812c:	83 e9 01             	sub    $0x1,%ecx
40812f:	74 18                	je     0x408149
408131:	83 e9 01             	sub    $0x1,%ecx
408134:	74 0c                	je     0x408142
408136:	83 e9 01             	sub    $0x1,%ecx
408139:	75 1a                	jne    0x408155
40813b:	b8 23 00 10 00       	mov    $0x100023,%eax
408140:	eb 13                	jmp    0x408155
408142:	b8 24 00 10 00       	mov    $0x100024,%eax
408147:	eb 0c                	jmp    0x408155
408149:	b8 22 00 10 00       	mov    $0x100022,%eax
40814e:	eb 05                	jmp    0x408155
408150:	b8 10 00 02 00       	mov    $0x20010,%eax
408155:	50                   	push   %eax
408156:	68 5b 01 00 00       	push   $0x15b
40815b:	e8 9b ac 00 00       	call   0x412dfb
408160:	c3                   	ret
408161:	6a 08                	push   $0x8
408163:	b8 1b 43 41 00       	mov    $0x41431b,%eax
408168:	e8 d2 ba 00 00       	call   0x413c3f
40816d:	8b f1                	mov    %ecx,%esi
40816f:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
408173:	bf 54 15 40 00       	mov    $0x401554,%edi
408178:	89 7d ec             	mov    %edi,-0x14(%ebp)
40817b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408182:	85 f6                	test   %esi,%esi
408184:	74 2e                	je     0x4081b4
408186:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408189:	e8 f8 05 00 00       	call   0x408786
40818e:	8d 45 f0             	lea    -0x10(%ebp),%eax
408191:	50                   	push   %eax
408192:	68 6b 01 00 00       	push   $0x16b
408197:	e8 c0 ac 00 00       	call   0x412e5c
40819c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40819f:	85 c9                	test   %ecx,%ecx
4081a1:	74 11                	je     0x4081b4
4081a3:	8b 01                	mov    (%ecx),%eax
4081a5:	56                   	push   %esi
4081a6:	51                   	push   %ecx
4081a7:	8b 70 1c             	mov    0x1c(%eax),%esi
4081aa:	8b ce                	mov    %esi,%ecx
4081ac:	ff 15 90 b3 41 00    	call   *0x41b390
4081b2:	ff d6                	call   *%esi
4081b4:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4081bb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4081be:	89 7d ec             	mov    %edi,-0x14(%ebp)
4081c1:	e8 c0 05 00 00       	call   0x408786
4081c6:	e8 51 ba 00 00       	call   0x413c1c
4081cb:	c3                   	ret
4081cc:	8b ff                	mov    %edi,%edi
4081ce:	53                   	push   %ebx
4081cf:	56                   	push   %esi
4081d0:	6a 5c                	push   $0x5c
4081d2:	33 db                	xor    %ebx,%ebx
4081d4:	8b f1                	mov    %ecx,%esi
4081d6:	53                   	push   %ebx
4081d7:	56                   	push   %esi
4081d8:	e8 84 bf 00 00       	call   0x414161
4081dd:	83 c4 0c             	add    $0xc,%esp
4081e0:	e8 90 7b 00 00       	call   0x40fd75
4081e5:	6b c0 f7             	imul   $0xfffffff7,%eax,%eax
4081e8:	6a 48                	push   $0x48
4081ea:	59                   	pop    %ecx
4081eb:	6a ff                	push   $0xffffffff
4081ed:	68 00 2b 40 00       	push   $0x402b00
4081f2:	99                   	cltd
4081f3:	f7 f9                	idiv   %ecx
4081f5:	6a 20                	push   $0x20
4081f7:	89 06                	mov    %eax,(%esi)
4081f9:	8d 46 1c             	lea    0x1c(%esi),%eax
4081fc:	50                   	push   %eax
4081fd:	89 5e 04             	mov    %ebx,0x4(%esi)
408200:	89 5e 08             	mov    %ebx,0x8(%esi)
408203:	89 5e 0c             	mov    %ebx,0xc(%esi)
408206:	c7 46 10 90 01 00 00 	movl   $0x190,0x10(%esi)
40820d:	c7 46 14 00 00 00 88 	movl   $0x88000000,0x14(%esi)
408214:	89 5e 18             	mov    %ebx,0x18(%esi)
408217:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40821d:	83 c4 10             	add    $0x10,%esp
408220:	5e                   	pop    %esi
408221:	5b                   	pop    %ebx
408222:	c3                   	ret
408223:	8b ff                	mov    %edi,%edi
408225:	53                   	push   %ebx
408226:	56                   	push   %esi
408227:	6a 5c                	push   $0x5c
408229:	33 db                	xor    %ebx,%ebx
40822b:	8b f1                	mov    %ecx,%esi
40822d:	53                   	push   %ebx
40822e:	56                   	push   %esi
40822f:	e8 2d bf 00 00       	call   0x414161
408234:	83 c4 0c             	add    $0xc,%esp
408237:	e8 3e 77 00 00       	call   0x40f97a
40823c:	b9 04 04 00 00       	mov    $0x404,%ecx
408241:	66 3b c8             	cmp    %ax,%cx
408244:	75 09                	jne    0x40824f
408246:	8b ce                	mov    %esi,%ecx
408248:	5e                   	pop    %esi
408249:	5b                   	pop    %ebx
40824a:	e9 7d ff ff ff       	jmp    0x4081cc
40824f:	e8 21 7b 00 00       	call   0x40fd75
408254:	6b c0 f8             	imul   $0xfffffff8,%eax,%eax
408257:	6a 48                	push   $0x48
408259:	59                   	pop    %ecx
40825a:	6a ff                	push   $0xffffffff
40825c:	68 14 2b 40 00       	push   $0x402b14
408261:	99                   	cltd
408262:	f7 f9                	idiv   %ecx
408264:	6a 20                	push   $0x20
408266:	89 06                	mov    %eax,(%esi)
408268:	8d 46 1c             	lea    0x1c(%esi),%eax
40826b:	50                   	push   %eax
40826c:	89 5e 04             	mov    %ebx,0x4(%esi)
40826f:	89 5e 08             	mov    %ebx,0x8(%esi)
408272:	89 5e 0c             	mov    %ebx,0xc(%esi)
408275:	c7 46 10 90 01 00 00 	movl   $0x190,0x10(%esi)
40827c:	89 5e 14             	mov    %ebx,0x14(%esi)
40827f:	89 5e 18             	mov    %ebx,0x18(%esi)
408282:	ff 15 e8 b2 41 00    	call   *0x41b2e8
408288:	83 c4 10             	add    $0x10,%esp
40828b:	5e                   	pop    %esi
40828c:	5b                   	pop    %ebx
40828d:	c3                   	ret
40828e:	6a 26                	push   $0x26
408290:	59                   	pop    %ecx
408291:	e8 f3 03 00 00       	call   0x408689
408296:	85 c0                	test   %eax,%eax
408298:	74 10                	je     0x4082aa
40829a:	6a 27                	push   $0x27
40829c:	59                   	pop    %ecx
40829d:	e8 e7 03 00 00       	call   0x408689
4082a2:	85 c0                	test   %eax,%eax
4082a4:	74 04                	je     0x4082aa
4082a6:	33 c0                	xor    %eax,%eax
4082a8:	40                   	inc    %eax
4082a9:	c3                   	ret
4082aa:	33 c0                	xor    %eax,%eax
4082ac:	c3                   	ret
4082ad:	6a 10                	push   $0x10
4082af:	b8 56 43 41 00       	mov    $0x414356,%eax
4082b4:	e8 86 b9 00 00       	call   0x413c3f
4082b9:	68 35 01 00 00       	push   $0x135
4082be:	e8 6a ab 00 00       	call   0x412e2d
4082c3:	68 2c 01 00 00       	push   $0x12c
4082c8:	e8 60 ab 00 00       	call   0x412e2d
4082cd:	68 2a 01 00 00       	push   $0x12a
4082d2:	e8 56 ab 00 00       	call   0x412e2d
4082d7:	68 1b 01 00 00       	push   $0x11b
4082dc:	e8 4c ab 00 00       	call   0x412e2d
4082e1:	68 21 01 00 00       	push   $0x121
4082e6:	e8 42 ab 00 00       	call   0x412e2d
4082eb:	68 2b 01 00 00       	push   $0x12b
4082f0:	e8 38 ab 00 00       	call   0x412e2d
4082f5:	68 1e 01 00 00       	push   $0x11e
4082fa:	e8 2e ab 00 00       	call   0x412e2d
4082ff:	68 28 01 00 00       	push   $0x128
408304:	e8 24 ab 00 00       	call   0x412e2d
408309:	68 08 01 00 00       	push   $0x108
40830e:	e8 1a ab 00 00       	call   0x412e2d
408313:	68 1a 01 00 00       	push   $0x11a
408318:	e8 10 ab 00 00       	call   0x412e2d