623ef1:	8b 5d 18             	mov    0x18(%ebp),%ebx
623ef4:	53                   	push   %ebx
623ef5:	51                   	push   %ecx
623ef6:	50                   	push   %eax
623ef7:	52                   	push   %edx
623ef8:	8b 02                	mov    (%edx),%eax
623efa:	ff 50 28             	call   *0x28(%eax)
623efd:	8b d8                	mov    %eax,%ebx
623eff:	8b c3                	mov    %ebx,%eax
623f01:	e8 66 4e df ff       	call   0x418d6c
623f06:	84 c0                	test   %al,%al
623f08:	0f 85 a0 00 00 00    	jne    0x623fae
623f0e:	33 c0                	xor    %eax,%eax
623f10:	55                   	push   %ebp
623f11:	68 6b 3f 62 00       	push   $0x623f6b
623f16:	64 ff 30             	push   %fs:(%eax)
623f19:	64 89 20             	mov    %esp,%fs:(%eax)
623f1c:	e8 77 39 de ff       	call   0x407898
623f21:	8b 55 0c             	mov    0xc(%ebp),%edx
623f24:	89 02                	mov    %eax,(%edx)
623f26:	8b 45 0c             	mov    0xc(%ebp),%eax
623f29:	83 38 00             	cmpl   $0x0,(%eax)
623f2c:	75 0a                	jne    0x623f38
623f2e:	33 c0                	xor    %eax,%eax
623f30:	5a                   	pop    %edx
623f31:	59                   	pop    %ecx
623f32:	59                   	pop    %ecx
623f33:	64 89 10             	mov    %edx,%fs:(%eax)
623f36:	eb 76                	jmp    0x623fae
623f38:	8b 45 10             	mov    0x10(%ebp),%eax
623f3b:	50                   	push   %eax
623f3c:	68 ff 7f 00 00       	push   $0x7fff
623f41:	8b 45 14             	mov    0x14(%ebp),%eax
623f44:	50                   	push   %eax
623f45:	6a 00                	push   $0x0
623f47:	8b 45 0c             	mov    0xc(%ebp),%eax
623f4a:	8b 00                	mov    (%eax),%eax
623f4c:	50                   	push   %eax
623f4d:	8b 45 08             	mov    0x8(%ebp),%eax
623f50:	8b 00                	mov    (%eax),%eax
623f52:	50                   	push   %eax
623f53:	8b 00                	mov    (%eax),%eax
623f55:	ff 50 0c             	call   *0xc(%eax)
623f58:	8b d8                	mov    %eax,%ebx
623f5a:	8b c3                	mov    %ebx,%eax
623f5c:	e8 8b 12 fe ff       	call   0x6051ec
623f61:	33 c0                	xor    %eax,%eax
623f63:	5a                   	pop    %edx
623f64:	59                   	pop    %ecx
623f65:	59                   	pop    %ecx
623f66:	64 89 10             	mov    %edx,%fs:(%eax)
623f69:	eb 43                	jmp    0x623fae
623f6b:	e9 e8 ff dd ff       	jmp    0x403f58
623f70:	8b 45 08             	mov    0x8(%ebp),%eax
623f73:	83 38 00             	cmpl   $0x0,(%eax)
623f76:	74 12                	je     0x623f8a
623f78:	8b 45 08             	mov    0x8(%ebp),%eax
623f7b:	8b 00                	mov    (%eax),%eax
623f7d:	50                   	push   %eax
623f7e:	8b 00                	mov    (%eax),%eax
623f80:	ff 50 08             	call   *0x8(%eax)
623f83:	8b 45 08             	mov    0x8(%ebp),%eax
623f86:	33 d2                	xor    %edx,%edx
623f88:	89 10                	mov    %edx,(%eax)
623f8a:	8b 45 0c             	mov    0xc(%ebp),%eax
623f8d:	83 38 00             	cmpl   $0x0,(%eax)
623f90:	74 12                	je     0x623fa4
623f92:	8b 45 0c             	mov    0xc(%ebp),%eax
623f95:	8b 00                	mov    (%eax),%eax
623f97:	50                   	push   %eax
623f98:	e8 43 39 de ff       	call   0x4078e0
623f9d:	8b 45 0c             	mov    0xc(%ebp),%eax
623fa0:	33 d2                	xor    %edx,%edx
623fa2:	89 10                	mov    %edx,(%eax)
623fa4:	e8 c3 02 de ff       	call   0x40426c
623fa9:	e8 12 03 de ff       	call   0x4042c0
623fae:	8b c3                	mov    %ebx,%eax
623fb0:	5f                   	pop    %edi
623fb1:	5e                   	pop    %esi
623fb2:	5b                   	pop    %ebx
623fb3:	5d                   	pop    %ebp
623fb4:	c2 14 00             	ret    $0x14
623fb7:	90                   	nop
623fb8:	55                   	push   %ebp
623fb9:	8b ec                	mov    %esp,%ebp
623fbb:	83 c4 dc             	add    $0xffffffdc,%esp
623fbe:	c7 45 dc 24 00 00 00 	movl   $0x24,-0x24(%ebp)
623fc5:	33 d2                	xor    %edx,%edx
623fc7:	89 55 e0             	mov    %edx,-0x20(%ebp)
623fca:	8b 55 08             	mov    0x8(%ebp),%edx
623fcd:	8b 52 fc             	mov    -0x4(%edx),%edx
623fd0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
623fd3:	89 45 e8             	mov    %eax,-0x18(%ebp)
623fd6:	33 c0                	xor    %eax,%eax
623fd8:	89 45 ec             	mov    %eax,-0x14(%ebp)
623fdb:	33 c0                	xor    %eax,%eax
623fdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
623fe0:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
623fe7:	33 c0                	xor    %eax,%eax
623fe9:	89 45 f8             	mov    %eax,-0x8(%ebp)
623fec:	33 c0                	xor    %eax,%eax
623fee:	89 45 fc             	mov    %eax,-0x4(%ebp)
623ff1:	8d 45 dc             	lea    -0x24(%ebp),%eax
623ff4:	50                   	push   %eax
623ff5:	8b 45 08             	mov    0x8(%ebp),%eax
623ff8:	8b 40 f8             	mov    -0x8(%eax),%eax
623ffb:	50                   	push   %eax
623ffc:	8b 00                	mov    (%eax),%eax
623ffe:	ff 50 10             	call   *0x10(%eax)
624001:	8b e5                	mov    %ebp,%esp
624003:	5d                   	pop    %ebp
624004:	c3                   	ret
624005:	8d 40 00             	lea    0x0(%eax),%eax
624008:	55                   	push   %ebp
624009:	8b ec                	mov    %esp,%ebp
62400b:	81 c4 e8 fe ff ff    	add    $0xfffffee8,%esp
624011:	53                   	push   %ebx
624012:	56                   	push   %esi
624013:	57                   	push   %edi
624014:	89 55 f8             	mov    %edx,-0x8(%ebp)
624017:	89 45 fc             	mov    %eax,-0x4(%ebp)
62401a:	33 c0                	xor    %eax,%eax
62401c:	89 45 f4             	mov    %eax,-0xc(%ebp)
62401f:	e8 74 38 de ff       	call   0x407898
624024:	89 45 f0             	mov    %eax,-0x10(%ebp)
624027:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
62402b:	0f 84 cb 00 00 00    	je     0x6240fc
624031:	33 d2                	xor    %edx,%edx
624033:	55                   	push   %ebp
624034:	68 f5 40 62 00       	push   $0x6240f5
624039:	64 ff 32             	push   %fs:(%edx)
62403c:	64 89 22             	mov    %esp,%fs:(%edx)
62403f:	6a 04                	push   $0x4
624041:	68 ff 7f 00 00       	push   $0x7fff
624046:	68 e8 03 00 00       	push   $0x3e8
62404b:	6a 00                	push   $0x0
62404d:	8b 45 f0             	mov    -0x10(%ebp),%eax
624050:	50                   	push   %eax
624051:	8b 45 fc             	mov    -0x4(%ebp),%eax
624054:	50                   	push   %eax
624055:	8b 00                	mov    (%eax),%eax
624057:	ff 50 0c             	call   *0xc(%eax)
62405a:	e8 8d 11 fe ff       	call   0x6051ec
62405f:	8b 45 f0             	mov    -0x10(%ebp),%eax
624062:	50                   	push   %eax
624063:	e8 28 3a de ff       	call   0x407a90
624068:	48                   	dec    %eax
624069:	8b f0                	mov    %eax,%esi
62406b:	85 f6                	test   %esi,%esi
62406d:	7c 69                	jl     0x6240d8
62406f:	46                   	inc    %esi
624070:	33 ff                	xor    %edi,%edi
624072:	57                   	push   %edi
624073:	8b 45 f0             	mov    -0x10(%ebp),%eax
624076:	50                   	push   %eax
624077:	e8 1c 3a de ff       	call   0x407a98
62407c:	8b d8                	mov    %eax,%ebx
62407e:	c6 85 eb fe ff ff 00 	movb   $0x0,-0x115(%ebp)
624085:	81 fb e8 03 00 00    	cmp    $0x3e8,%ebx
62408b:	7c 47                	jl     0x6240d4
62408d:	68 04 01 00 00       	push   $0x104
624092:	8d 85 eb fe ff ff    	lea    -0x115(%ebp),%eax
624098:	50                   	push   %eax
624099:	6a 00                	push   $0x0
62409b:	6a 00                	push   $0x0
62409d:	8b c3                	mov    %ebx,%eax
62409f:	2d e8 03 00 00       	sub    $0x3e8,%eax
6240a4:	50                   	push   %eax
6240a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6240a8:	50                   	push   %eax
6240a9:	8b 00                	mov    (%eax),%eax
6240ab:	ff 50 14             	call   *0x14(%eax)
6240ae:	85 c0                	test   %eax,%eax
6240b0:	75 22                	jne    0x6240d4
6240b2:	8d 85 eb fe ff ff    	lea    -0x115(%ebp),%eax
6240b8:	8b 55 f8             	mov    -0x8(%ebp),%edx
6240bb:	e8 a8 52 de ff       	call   0x409368
6240c0:	85 c0                	test   %eax,%eax
6240c2:	75 10                	jne    0x6240d4
6240c4:	81 eb e8 03 00 00    	sub    $0x3e8,%ebx
6240ca:	89 5d f4             	mov    %ebx,-0xc(%ebp)
6240cd:	e8 1e 02 de ff       	call   0x4042f0
6240d2:	eb 28                	jmp    0x6240fc
6240d4:	47                   	inc    %edi
6240d5:	4e                   	dec    %esi
6240d6:	75 9a                	jne    0x624072
6240d8:	33 c0                	xor    %eax,%eax
6240da:	5a                   	pop    %edx
6240db:	59                   	pop    %ecx
6240dc:	59                   	pop    %ecx
6240dd:	64 89 10             	mov    %edx,%fs:(%eax)
6240e0:	68 fc 40 62 00       	push   $0x6240fc
6240e5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
6240e9:	74 09                	je     0x6240f4
6240eb:	8b 45 f0             	mov    -0x10(%ebp),%eax
6240ee:	50                   	push   %eax
6240ef:	e8 ec 37 de ff       	call   0x4078e0
6240f4:	c3                   	ret
6240f5:	e9 12 01 de ff       	jmp    0x40420c
6240fa:	eb e9                	jmp    0x6240e5
6240fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
6240ff:	5f                   	pop    %edi
624100:	5e                   	pop    %esi
624101:	5b                   	pop    %ebx
624102:	8b e5                	mov    %ebp,%esp
624104:	5d                   	pop    %ebp
624105:	c3                   	ret
624106:	8b c0                	mov    %eax,%eax
624108:	55                   	push   %ebp
624109:	8b ec                	mov    %esp,%ebp
62410b:	83 c4 f8             	add    $0xfffffff8,%esp
62410e:	53                   	push   %ebx
62410f:	8b d9                	mov    %ecx,%ebx
624111:	89 55 f8             	mov    %edx,-0x8(%ebp)
624114:	89 45 fc             	mov    %eax,-0x4(%ebp)
624117:	8b c3                	mov    %ebx,%eax
624119:	e8 8e 3d de ff       	call   0x407eac
62411e:	66 85 c0             	test   %ax,%ax
624121:	75 04                	jne    0x624127
624123:	8b c3                	mov    %ebx,%eax
624125:	eb 0a                	jmp    0x624131
624127:	8b d3                	mov    %ebx,%edx
624129:	8b 45 f8             	mov    -0x8(%ebp),%eax
62412c:	e8 d7 fe ff ff       	call   0x624008
624131:	55                   	push   %ebp
624132:	e8 81 fe ff ff       	call   0x623fb8
624137:	59                   	pop    %ecx
624138:	5b                   	pop    %ebx
624139:	59                   	pop    %ecx
62413a:	59                   	pop    %ecx
62413b:	5d                   	pop    %ebp
62413c:	c3                   	ret
62413d:	8d 40 00             	lea    0x0(%eax),%eax
624140:	55                   	push   %ebp
624141:	8b ec                	mov    %esp,%ebp
624143:	83 c4 f0             	add    $0xfffffff0,%esp
624146:	53                   	push   %ebx
624147:	56                   	push   %esi
624148:	57                   	push   %edi
624149:	33 db                	xor    %ebx,%ebx
62414b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
62414e:	8b d9                	mov    %ecx,%ebx
624150:	8b fa                	mov    %edx,%edi
624152:	8b f0                	mov    %eax,%esi
624154:	33 c0                	xor    %eax,%eax
624156:	55                   	push   %ebp
624157:	68 aa 42 62 00       	push   $0x6242aa
62415c:	64 ff 30             	push   %fs:(%eax)
62415f:	64 89 20             	mov    %esp,%fs:(%eax)
624162:	33 c0                	xor    %eax,%eax
624164:	89 45 fc             	mov    %eax,-0x4(%ebp)
624167:	33 c0                	xor    %eax,%eax
624169:	89 45 f4             	mov    %eax,-0xc(%ebp)
62416c:	8b ce                	mov    %esi,%ecx
62416e:	b2 01                	mov    $0x1,%dl
624170:	a1 c4 cc 61 00       	mov    0x61ccc4,%eax
624175:	e8 9e 97 ff ff       	call   0x61d918
62417a:	89 45 f8             	mov    %eax,-0x8(%ebp)
62417d:	33 c0                	xor    %eax,%eax
62417f:	55                   	push   %ebp
624180:	68 8d 42 62 00       	push   $0x62428d
624185:	64 ff 30             	push   %fs:(%eax)
624188:	64 89 20             	mov    %esp,%fs:(%eax)
62418b:	8b 45 f8             	mov    -0x8(%ebp),%eax
62418e:	e8 79 98 ff ff       	call   0x61da0c
624193:	85 c0                	test   %eax,%eax
624195:	7f 4c                	jg     0x6241e3
624197:	8d 4d f0             	lea    -0x10(%ebp),%ecx
62419a:	33 d2                	xor    %edx,%edx
62419c:	33 c0                	xor    %eax,%eax
62419e:	e8 55 8f ff ff       	call   0x61d0f8
6241a3:	8b 45 f0             	mov    -0x10(%ebp),%eax
6241a6:	8d 55 f4             	lea    -0xc(%ebp),%edx
6241a9:	e8 fa 8d ff ff       	call   0x61cfa8
6241ae:	89 45 fc             	mov    %eax,-0x4(%ebp)
6241b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
6241b4:	e8 b3 4b df ff       	call   0x418d6c
6241b9:	84 c0                	test   %al,%al
6241bb:	74 0a                	je     0x6241c7
6241bd:	e8 2e 01 de ff       	call   0x4042f0
6241c2:	e9 cd 00 00 00       	jmp    0x624294
6241c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
6241ca:	e8 a9 f8 dd ff       	call   0x403a78
6241cf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
6241d2:	b2 01                	mov    $0x1,%dl
6241d4:	a1 c4 cc 61 00       	mov    0x61ccc4,%eax
6241d9:	e8 3a 97 ff ff       	call   0x61d918
6241de:	89 45 f8             	mov    %eax,-0x8(%ebp)
6241e1:	eb 2e                	jmp    0x624211
6241e3:	8b 45 f8             	mov    -0x8(%ebp),%eax
6241e6:	e8 21 98 ff ff       	call   0x61da0c
6241eb:	48                   	dec    %eax
6241ec:	7f 23                	jg     0x624211
6241ee:	8b c7                	mov    %edi,%eax
6241f0:	e8 23 94 ff ff       	call   0x61d618
6241f5:	33 c0                	xor    %eax,%eax
6241f7:	89 03                	mov    %eax,(%ebx)
6241f9:	8b d6                	mov    %esi,%edx
6241fb:	33 c0                	xor    %eax,%eax
6241fd:	e8 c2 96 ff ff       	call   0x61d8c4
624202:	8b 55 08             	mov    0x8(%ebp),%edx
624205:	89 02                	mov    %eax,(%edx)
624207:	e8 e4 00 de ff       	call   0x4042f0
62420c:	e9 83 00 00 00       	jmp    0x624294
624211:	ba 01 00 00 00       	mov    $0x1,%edx
624216:	8b 45 f8             	mov    -0x8(%ebp),%eax
624219:	e8 6a 97 ff ff       	call   0x61d988
62421e:	8b d0                	mov    %eax,%edx
624220:	33 c0                	xor    %eax,%eax
624222:	e8 9d 96 ff ff       	call   0x61d8c4
624227:	89 03                	mov    %eax,(%ebx)
624229:	8b 45 f8             	mov    -0x8(%ebp),%eax
62422c:	e8 db 97 ff ff       	call   0x61da0c
624231:	8b d0                	mov    %eax,%edx
624233:	4a                   	dec    %edx
624234:	8b 45 f8             	mov    -0x8(%ebp),%eax
624237:	e8 ec 97 ff ff       	call   0x61da28
62423c:	8b d0                	mov    %eax,%edx
62423e:	33 c0                	xor    %eax,%eax
624240:	e8 7f 96 ff ff       	call   0x61d8c4
624245:	8b 55 08             	mov    0x8(%ebp),%edx
624248:	89 02                	mov    %eax,(%edx)
62424a:	8b d7                	mov    %edi,%edx
62424c:	8b 03                	mov    (%ebx),%eax
62424e:	e8 d5 8c ff ff       	call   0x61cf28
624253:	89 45 fc             	mov    %eax,-0x4(%ebp)
624256:	8b 45 fc             	mov    -0x4(%ebp),%eax
624259:	e8 0e 4b df ff       	call   0x418d6c
62425e:	84 c0                	test   %al,%al
624260:	74 07                	je     0x624269
624262:	e8 89 00 de ff       	call   0x4042f0
624267:	eb 2b                	jmp    0x624294
624269:	33 c0                	xor    %eax,%eax
62426b:	5a                   	pop    %edx
62426c:	59                   	pop    %ecx
62426d:	59                   	pop    %ecx
62426e:	64 89 10             	mov    %edx,%fs:(%eax)
624271:	68 94 42 62 00       	push   $0x624294
624276:	8b 45 f8             	mov    -0x8(%ebp),%eax
624279:	e8 fa f7 dd ff       	call   0x403a78
62427e:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
624282:	74 08                	je     0x62428c
624284:	8b 45 f4             	mov    -0xc(%ebp),%eax
624287:	e8 80 8c ff ff       	call   0x61cf0c
62428c:	c3                   	ret
62428d:	e9 7a ff dd ff       	jmp    0x40420c
624292:	eb e2                	jmp    0x624276
624294:	33 c0                	xor    %eax,%eax
624296:	5a                   	pop    %edx
624297:	59                   	pop    %ecx