408f0d:	cc                   	int3
408f0e:	cc                   	int3
408f0f:	cc                   	int3
408f10:	66 8b 41 0c          	mov    0xc(%ecx),%ax
408f14:	c3                   	ret
408f15:	cc                   	int3
408f16:	cc                   	int3
408f17:	cc                   	int3
408f18:	cc                   	int3
408f19:	cc                   	int3
408f1a:	cc                   	int3
408f1b:	cc                   	int3
408f1c:	cc                   	int3
408f1d:	cc                   	int3
408f1e:	cc                   	int3
408f1f:	cc                   	int3
408f20:	55                   	push   %ebp
408f21:	8b ec                	mov    %esp,%ebp
408f23:	51                   	push   %ecx
408f24:	8b 45 0c             	mov    0xc(%ebp),%eax
408f27:	53                   	push   %ebx
408f28:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408f2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
408f2e:	56                   	push   %esi
408f2f:	8b 75 14             	mov    0x14(%ebp),%esi
408f32:	85 db                	test   %ebx,%ebx
408f34:	74 5c                	je     0x408f92
408f36:	57                   	push   %edi
408f37:	85 f6                	test   %esi,%esi
408f39:	74 4a                	je     0x408f85
408f3b:	8b 46 20             	mov    0x20(%esi),%eax
408f3e:	83 38 00             	cmpl   $0x0,(%eax)
408f41:	74 1e                	je     0x408f61
408f43:	8b 46 30             	mov    0x30(%esi),%eax
408f46:	8b 08                	mov    (%eax),%ecx
408f48:	85 c9                	test   %ecx,%ecx
408f4a:	7e 15                	jle    0x408f61
408f4c:	49                   	dec    %ecx
408f4d:	89 08                	mov    %ecx,(%eax)
408f4f:	8b 4e 20             	mov    0x20(%esi),%ecx
408f52:	8b 11                	mov    (%ecx),%edx
408f54:	8d 42 02             	lea    0x2(%edx),%eax
408f57:	89 01                	mov    %eax,(%ecx)
408f59:	8b 45 18             	mov    0x18(%ebp),%eax
408f5c:	66 89 02             	mov    %ax,(%edx)
408f5f:	eb 14                	jmp    0x408f75
408f61:	8b 06                	mov    (%esi),%eax
408f63:	ff 75 18             	push   0x18(%ebp)
408f66:	8b 78 0c             	mov    0xc(%eax),%edi
408f69:	8b cf                	mov    %edi,%ecx
408f6b:	ff 15 5c e2 43 00    	call   *0x43e25c
408f71:	8b ce                	mov    %esi,%ecx
408f73:	ff d7                	call   *%edi
408f75:	8b 75 14             	mov    0x14(%ebp),%esi
408f78:	b9 ff ff 00 00       	mov    $0xffff,%ecx
408f7d:	0f b7 c0             	movzwl %ax,%eax
408f80:	66 3b c8             	cmp    %ax,%cx
408f83:	75 04                	jne    0x408f89
408f85:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
408f89:	83 eb 01             	sub    $0x1,%ebx
408f8c:	75 a9                	jne    0x408f37
408f8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
408f91:	5f                   	pop    %edi
408f92:	8b 4d 10             	mov    0x10(%ebp),%ecx
408f95:	89 70 04             	mov    %esi,0x4(%eax)
408f98:	5e                   	pop    %esi
408f99:	89 08                	mov    %ecx,(%eax)
408f9b:	5b                   	pop    %ebx
408f9c:	8b e5                	mov    %ebp,%esp
408f9e:	5d                   	pop    %ebp
408f9f:	c3                   	ret
408fa0:	cc                   	int3
408fa1:	cc                   	int3
408fa2:	cc                   	int3
408fa3:	cc                   	int3
408fa4:	cc                   	int3
408fa5:	cc                   	int3
408fa6:	cc                   	int3
408fa7:	cc                   	int3
408fa8:	cc                   	int3
408fa9:	cc                   	int3
408faa:	cc                   	int3
408fab:	cc                   	int3
408fac:	cc                   	int3
408fad:	cc                   	int3
408fae:	cc                   	int3
408faf:	cc                   	int3
408fb0:	55                   	push   %ebp
408fb1:	8b ec                	mov    %esp,%ebp
408fb3:	83 ec 0c             	sub    $0xc,%esp
408fb6:	8b 45 0c             	mov    0xc(%ebp),%eax
408fb9:	53                   	push   %ebx
408fba:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408fbd:	89 45 f4             	mov    %eax,-0xc(%ebp)
408fc0:	56                   	push   %esi
408fc1:	8b 75 14             	mov    0x14(%ebp),%esi
408fc4:	57                   	push   %edi
408fc5:	8b 7d 18             	mov    0x18(%ebp),%edi
408fc8:	89 7d fc             	mov    %edi,-0x4(%ebp)
408fcb:	85 db                	test   %ebx,%ebx
408fcd:	74 6d                	je     0x40903c
408fcf:	90                   	nop
408fd0:	85 f6                	test   %esi,%esi
408fd2:	74 56                	je     0x40902a
408fd4:	8b 46 20             	mov    0x20(%esi),%eax
408fd7:	0f b7 0f             	movzwl (%edi),%ecx
408fda:	89 4d f8             	mov    %ecx,-0x8(%ebp)
408fdd:	83 38 00             	cmpl   $0x0,(%eax)
408fe0:	74 23                	je     0x409005
408fe2:	8b 46 30             	mov    0x30(%esi),%eax
408fe5:	8b 00                	mov    (%eax),%eax
408fe7:	85 c0                	test   %eax,%eax
408fe9:	7e 1a                	jle    0x409005
408feb:	8d 48 ff             	lea    -0x1(%eax),%ecx
408fee:	8b 46 30             	mov    0x30(%esi),%eax
408ff1:	89 08                	mov    %ecx,(%eax)
408ff3:	8b 4e 20             	mov    0x20(%esi),%ecx
408ff6:	8b 11                	mov    (%ecx),%edx
408ff8:	8d 42 02             	lea    0x2(%edx),%eax
408ffb:	89 01                	mov    %eax,(%ecx)
408ffd:	8b 45 f8             	mov    -0x8(%ebp),%eax
409000:	66 89 02             	mov    %ax,(%edx)
409003:	eb 15                	jmp    0x40901a
409005:	8b 06                	mov    (%esi),%eax
409007:	51                   	push   %ecx
409008:	8b 78 0c             	mov    0xc(%eax),%edi
40900b:	8b cf                	mov    %edi,%ecx
40900d:	ff 15 5c e2 43 00    	call   *0x43e25c
409013:	8b ce                	mov    %esi,%ecx
409015:	ff d7                	call   *%edi
409017:	8b 7d fc             	mov    -0x4(%ebp),%edi
40901a:	8b 75 14             	mov    0x14(%ebp),%esi
40901d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
409022:	0f b7 c0             	movzwl %ax,%eax
409025:	66 3b c8             	cmp    %ax,%cx
409028:	75 04                	jne    0x40902e
40902a:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
40902e:	83 c7 02             	add    $0x2,%edi
409031:	89 7d fc             	mov    %edi,-0x4(%ebp)
409034:	83 eb 01             	sub    $0x1,%ebx
409037:	75 97                	jne    0x408fd0
409039:	8b 45 f4             	mov    -0xc(%ebp),%eax
40903c:	8b 4d 10             	mov    0x10(%ebp),%ecx
40903f:	5f                   	pop    %edi
409040:	89 70 04             	mov    %esi,0x4(%eax)
409043:	5e                   	pop    %esi
409044:	89 08                	mov    %ecx,(%eax)
409046:	5b                   	pop    %ebx
409047:	8b e5                	mov    %ebp,%esp
409049:	5d                   	pop    %ebp
40904a:	c3                   	ret
40904b:	cc                   	int3
40904c:	cc                   	int3
40904d:	cc                   	int3
40904e:	cc                   	int3
40904f:	cc                   	int3
409050:	55                   	push   %ebp
409051:	8b ec                	mov    %esp,%ebp
409053:	6a ff                	push   $0xffffffff
409055:	68 55 bf 43 00       	push   $0x43bf55
40905a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409060:	50                   	push   %eax
409061:	83 ec 54             	sub    $0x54,%esp
409064:	a1 14 50 45 00       	mov    0x455014,%eax
409069:	33 c5                	xor    %ebp,%eax
40906b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40906e:	53                   	push   %ebx
40906f:	56                   	push   %esi
409070:	57                   	push   %edi
409071:	50                   	push   %eax
409072:	8d 45 f4             	lea    -0xc(%ebp),%eax
409075:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40907b:	8b 5d 24             	mov    0x24(%ebp),%ebx
40907e:	8b 45 0c             	mov    0xc(%ebp),%eax
409081:	8b 7d 18             	mov    0x18(%ebp),%edi
409084:	8b 55 20             	mov    0x20(%ebp),%edx
409087:	89 45 a0             	mov    %eax,-0x60(%ebp)
40908a:	89 7d ac             	mov    %edi,-0x54(%ebp)
40908d:	89 55 a8             	mov    %edx,-0x58(%ebp)
409090:	85 db                	test   %ebx,%ebx
409092:	74 11                	je     0x4090a5
409094:	8a 02                	mov    (%edx),%al
409096:	3c 2b                	cmp    $0x2b,%al
409098:	74 04                	je     0x40909e
40909a:	3c 2d                	cmp    $0x2d,%al
40909c:	75 07                	jne    0x4090a5
40909e:	b9 01 00 00 00       	mov    $0x1,%ecx
4090a3:	eb 02                	jmp    0x4090a7
4090a5:	33 c9                	xor    %ecx,%ecx
4090a7:	8b 47 14             	mov    0x14(%edi),%eax
4090aa:	25 00 0e 00 00       	and    $0xe00,%eax
4090af:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4090b2:	3d 00 08 00 00       	cmp    $0x800,%eax
4090b7:	75 1c                	jne    0x4090d5
4090b9:	8d 71 02             	lea    0x2(%ecx),%esi
4090bc:	3b f3                	cmp    %ebx,%esi
4090be:	77 15                	ja     0x4090d5
4090c0:	80 3c 0a 30          	cmpb   $0x30,(%edx,%ecx,1)
4090c4:	75 0f                	jne    0x4090d5
4090c6:	8a 44 0a 01          	mov    0x1(%edx,%ecx,1),%al
4090ca:	3c 78                	cmp    $0x78,%al
4090cc:	74 04                	je     0x4090d2
4090ce:	3c 58                	cmp    $0x58,%al
4090d0:	75 03                	jne    0x4090d5
4090d2:	89 75 b8             	mov    %esi,-0x48(%ebp)
4090d5:	8b 47 30             	mov    0x30(%edi),%eax
4090d8:	8b 78 04             	mov    0x4(%eax),%edi
4090db:	89 7d b4             	mov    %edi,-0x4c(%ebp)
4090de:	8b 07                	mov    (%edi),%eax
4090e0:	8b 70 04             	mov    0x4(%eax),%esi
4090e3:	8b ce                	mov    %esi,%ecx
4090e5:	ff 15 5c e2 43 00    	call   *0x43e25c
4090eb:	8b cf                	mov    %edi,%ecx
4090ed:	ff d6                	call   *%esi
4090ef:	8d 45 b0             	lea    -0x50(%ebp),%eax
4090f2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4090f9:	50                   	push   %eax
4090fa:	e8 e1 13 00 00       	call   0x40a4e0
4090ff:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
409106:	83 c4 04             	add    $0x4,%esp
409109:	8b 7d b4             	mov    -0x4c(%ebp),%edi
40910c:	89 45 bc             	mov    %eax,-0x44(%ebp)
40910f:	85 ff                	test   %edi,%edi
409111:	74 29                	je     0x40913c
409113:	8b 07                	mov    (%edi),%eax
409115:	8b 70 08             	mov    0x8(%eax),%esi
409118:	8b ce                	mov    %esi,%ecx
40911a:	ff 15 5c e2 43 00    	call   *0x43e25c
409120:	8b cf                	mov    %edi,%ecx
409122:	ff d6                	call   *%esi
409124:	8b f8                	mov    %eax,%edi
409126:	85 ff                	test   %edi,%edi
409128:	74 12                	je     0x40913c
40912a:	8b 07                	mov    (%edi),%eax
40912c:	6a 01                	push   $0x1
40912e:	8b 30                	mov    (%eax),%esi
409130:	8b ce                	mov    %esi,%ecx
409132:	ff 15 5c e2 43 00    	call   *0x43e25c
409138:	8b cf                	mov    %edi,%ecx
40913a:	ff d6                	call   *%esi
40913c:	6a 00                	push   $0x0
40913e:	53                   	push   %ebx
40913f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
409142:	e8 d9 ec ff ff       	call   0x407e20
409147:	8b 7d bc             	mov    -0x44(%ebp),%edi
40914a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40914d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409154:	8b 55 a8             	mov    -0x58(%ebp),%edx
409157:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40915b:	8b 0f                	mov    (%edi),%ecx
40915d:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
409161:	50                   	push   %eax
409162:	8d 04 13             	lea    (%ebx,%edx,1),%eax
409165:	8b 71 2c             	mov    0x2c(%ecx),%esi
409168:	8b ce                	mov    %esi,%ecx
40916a:	50                   	push   %eax
40916b:	52                   	push   %edx
40916c:	ff 15 5c e2 43 00    	call   *0x43e25c
409172:	8b cf                	mov    %edi,%ecx
409174:	ff d6                	call   *%esi
409176:	8b 55 ac             	mov    -0x54(%ebp),%edx
409179:	8b 42 30             	mov    0x30(%edx),%eax
40917c:	8b 78 04             	mov    0x4(%eax),%edi
40917f:	89 7d a8             	mov    %edi,-0x58(%ebp)
409182:	8b 07                	mov    (%edi),%eax
409184:	8b 70 04             	mov    0x4(%eax),%esi
409187:	8b ce                	mov    %esi,%ecx
409189:	ff 15 5c e2 43 00    	call   *0x43e25c
40918f:	8b cf                	mov    %edi,%ecx
409191:	ff d6                	call   *%esi
409193:	8d 45 a4             	lea    -0x5c(%ebp),%eax
409196:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40919a:	50                   	push   %eax
40919b:	e8 00 12 00 00       	call   0x40a3a0
4091a0:	8b f8                	mov    %eax,%edi
4091a2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4091a6:	8b 45 a8             	mov    -0x58(%ebp),%eax
4091a9:	83 c4 04             	add    $0x4,%esp
4091ac:	89 7d bc             	mov    %edi,-0x44(%ebp)
4091af:	85 c0                	test   %eax,%eax
4091b1:	74 2d                	je     0x4091e0
4091b3:	8b 00                	mov    (%eax),%eax
4091b5:	8b 70 08             	mov    0x8(%eax),%esi
4091b8:	8b ce                	mov    %esi,%ecx
4091ba:	ff 15 5c e2 43 00    	call   *0x43e25c
4091c0:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4091c3:	ff d6                	call   *%esi
4091c5:	8b f8                	mov    %eax,%edi
4091c7:	85 ff                	test   %edi,%edi
4091c9:	74 12                	je     0x4091dd
4091cb:	8b 07                	mov    (%edi),%eax
4091cd:	6a 01                	push   $0x1
4091cf:	8b 30                	mov    (%eax),%esi
4091d1:	8b ce                	mov    %esi,%ecx
4091d3:	ff 15 5c e2 43 00    	call   *0x43e25c
4091d9:	8b cf                	mov    %edi,%ecx
4091db:	ff d6                	call   *%esi
4091dd:	8b 7d bc             	mov    -0x44(%ebp),%edi
4091e0:	8b 07                	mov    (%edi),%eax
4091e2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4091e5:	51                   	push   %ecx
4091e6:	8b 70 14             	mov    0x14(%eax),%esi
4091e9:	8b ce                	mov    %esi,%ecx
4091eb:	ff 15 5c e2 43 00    	call   *0x43e25c
4091f1:	8b cf                	mov    %edi,%ecx
4091f3:	ff d6                	call   *%esi
4091f5:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4091f9:	8d 7d c0             	lea    -0x40(%ebp),%edi
4091fc:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
409200:	0f 43 7d c0          	cmovae -0x40(%ebp),%edi
409204:	8a 07                	mov    (%edi),%al
409206:	3c 7f                	cmp    $0x7f,%al
409208:	0f 84 be 00 00 00    	je     0x4092cc
40920e:	84 c0                	test   %al,%al
409210:	0f 8e b6 00 00 00    	jle    0x4092cc
409216:	8b 45 bc             	mov    -0x44(%ebp),%eax
409219:	8b 00                	mov    (%eax),%eax
40921b:	8b 70 10             	mov    0x10(%eax),%esi
40921e:	8b ce                	mov    %esi,%ecx
409220:	ff 15 5c e2 43 00    	call   *0x43e25c
409226:	8b 4d bc             	mov    -0x44(%ebp),%ecx
409229:	ff d6                	call   *%esi
40922b:	0f b7 f0             	movzwl %ax,%esi
40922e:	8a 07                	mov    (%edi),%al
409230:	89 75 bc             	mov    %esi,-0x44(%ebp)
409233:	3c 7f                	cmp    $0x7f,%al
409235:	0f 84 91 00 00 00    	je     0x4092cc
40923b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
409240:	8b 55 b8             	mov    -0x48(%ebp),%edx
409243:	84 c0                	test   %al,%al
409245:	0f 8e 84 00 00 00    	jle    0x4092cf
40924b:	0f be c8             	movsbl %al,%ecx
40924e:	8b c3                	mov    %ebx,%eax
409250:	2b c2                	sub    %edx,%eax
409252:	3b c8                	cmp    %eax,%ecx
409254:	73 79                	jae    0x4092cf
409256:	2b d9                	sub    %ecx,%ebx
409258:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40925b:	3b cb                	cmp    %ebx,%ecx
40925d:	0f 82 3d 02 00 00    	jb     0x4094a0
409263:	8b 55 ec             	mov    -0x14(%ebp),%edx
409266:	8b c2                	mov    %edx,%eax
409268:	2b c1                	sub    %ecx,%eax
40926a:	83 f8 01             	cmp    $0x1,%eax
40926d:	72 34                	jb     0x4092a3
40926f:	8d 41 01             	lea    0x1(%ecx),%eax
409272:	83 fa 08             	cmp    $0x8,%edx
409275:	89 45 e8             	mov    %eax,-0x18(%ebp)
409278:	8d 45 d8             	lea    -0x28(%ebp),%eax
40927b:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax