41301b:	6a 07                	push   $0x7
41301d:	99                   	cltd
41301e:	5b                   	pop    %ebx
41301f:	f7 fb                	idiv   %ebx
413021:	01 4e 1c             	add    %ecx,0x1c(%esi)
413024:	89 56 18             	mov    %edx,0x18(%esi)
413027:	eb 4a                	jmp    0x413073
413029:	85 d2                	test   %edx,%edx
41302b:	7f 46                	jg     0x413073
41302d:	7c 04                	jl     0x413033
41302f:	85 c9                	test   %ecx,%ecx
413031:	73 40                	jae    0x413073
413033:	8b 46 18             	mov    0x18(%esi),%eax
413036:	83 c0 07             	add    $0x7,%eax
413039:	03 c1                	add    %ecx,%eax
41303b:	99                   	cltd
41303c:	6a 07                	push   $0x7
41303e:	5b                   	pop    %ebx
41303f:	f7 fb                	idiv   %ebx
413041:	8b 46 0c             	mov    0xc(%esi),%eax
413044:	89 56 18             	mov    %edx,0x18(%esi)
413047:	03 c1                	add    %ecx,%eax
413049:	8b 56 1c             	mov    0x1c(%esi),%edx
41304c:	03 d1                	add    %ecx,%edx
41304e:	89 46 0c             	mov    %eax,0xc(%esi)
413051:	85 c0                	test   %eax,%eax
413053:	7f 1b                	jg     0x413070
413055:	83 c0 1f             	add    $0x1f,%eax
413058:	c7 46 10 0b 00 00 00 	movl   $0xb,0x10(%esi)
41305f:	ff 4e 14             	decl   0x14(%esi)
413062:	89 46 0c             	mov    %eax,0xc(%esi)
413065:	8d 82 6d 01 00 00    	lea    0x16d(%edx),%eax
41306b:	89 46 1c             	mov    %eax,0x1c(%esi)
41306e:	eb 03                	jmp    0x413073
413070:	89 56 1c             	mov    %edx,0x1c(%esi)
413073:	33 c0                	xor    %eax,%eax
413075:	e9 ee fd ff ff       	jmp    0x412e68
41307a:	53                   	push   %ebx
41307b:	53                   	push   %ebx
41307c:	53                   	push   %ebx
41307d:	53                   	push   %ebx
41307e:	53                   	push   %ebx
41307f:	e8 97 a3 ff ff       	call   0x40d41b
413084:	cc                   	int3
413085:	8b ff                	mov    %edi,%edi
413087:	55                   	push   %ebp
413088:	8b ec                	mov    %esp,%ebp
41308a:	5d                   	pop    %ebp
41308b:	e9 64 fd ff ff       	jmp    0x412df4
413090:	8b ff                	mov    %edi,%edi
413092:	55                   	push   %ebp
413093:	8b ec                	mov    %esp,%ebp
413095:	8b 4d 10             	mov    0x10(%ebp),%ecx
413098:	57                   	push   %edi
413099:	8b 7d 08             	mov    0x8(%ebp),%edi
41309c:	85 c9                	test   %ecx,%ecx
41309e:	74 2a                	je     0x4130ca
4130a0:	8b 55 0c             	mov    0xc(%ebp),%edx
4130a3:	2b d7                	sub    %edi,%edx
4130a5:	0f b7 04 3a          	movzwl (%edx,%edi,1),%eax
4130a9:	66 89 07             	mov    %ax,(%edi)
4130ac:	83 c7 02             	add    $0x2,%edi
4130af:	49                   	dec    %ecx
4130b0:	66 85 c0             	test   %ax,%ax
4130b3:	74 06                	je     0x4130bb
4130b5:	85 c9                	test   %ecx,%ecx
4130b7:	75 ec                	jne    0x4130a5
4130b9:	eb 0f                	jmp    0x4130ca
4130bb:	85 c9                	test   %ecx,%ecx
4130bd:	74 0b                	je     0x4130ca
4130bf:	33 c0                	xor    %eax,%eax
4130c1:	d1 e9                	shr    $1,%ecx
4130c3:	f3 ab                	rep stos %eax,%es:(%edi)
4130c5:	13 c9                	adc    %ecx,%ecx
4130c7:	66 f3 ab             	rep stos %ax,%es:(%edi)
4130ca:	8b 45 08             	mov    0x8(%ebp),%eax
4130cd:	5f                   	pop    %edi
4130ce:	5d                   	pop    %ebp
4130cf:	c3                   	ret
4130d0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4130d4:	57                   	push   %edi
4130d5:	85 c9                	test   %ecx,%ecx
4130d7:	0f 84 92 00 00 00    	je     0x41316f
4130dd:	56                   	push   %esi
4130de:	53                   	push   %ebx
4130df:	8b d9                	mov    %ecx,%ebx
4130e1:	8b 74 24 14          	mov    0x14(%esp),%esi
4130e5:	f7 c6 03 00 00 00    	test   $0x3,%esi
4130eb:	8b 7c 24 10          	mov    0x10(%esp),%edi
4130ef:	75 0b                	jne    0x4130fc
4130f1:	c1 e9 02             	shr    $0x2,%ecx
4130f4:	0f 85 85 00 00 00    	jne    0x41317f
4130fa:	eb 27                	jmp    0x413123
4130fc:	8a 06                	mov    (%esi),%al
4130fe:	83 c6 01             	add    $0x1,%esi
413101:	88 07                	mov    %al,(%edi)
413103:	83 c7 01             	add    $0x1,%edi
413106:	83 e9 01             	sub    $0x1,%ecx
413109:	74 2b                	je     0x413136
41310b:	84 c0                	test   %al,%al
41310d:	74 2f                	je     0x41313e
41310f:	f7 c6 03 00 00 00    	test   $0x3,%esi
413115:	75 e5                	jne    0x4130fc
413117:	8b d9                	mov    %ecx,%ebx
413119:	c1 e9 02             	shr    $0x2,%ecx
41311c:	75 61                	jne    0x41317f
41311e:	83 e3 03             	and    $0x3,%ebx
413121:	74 13                	je     0x413136
413123:	8a 06                	mov    (%esi),%al
413125:	83 c6 01             	add    $0x1,%esi
413128:	88 07                	mov    %al,(%edi)
41312a:	83 c7 01             	add    $0x1,%edi
41312d:	84 c0                	test   %al,%al
41312f:	74 37                	je     0x413168
413131:	83 eb 01             	sub    $0x1,%ebx
413134:	75 ed                	jne    0x413123
413136:	8b 44 24 10          	mov    0x10(%esp),%eax
41313a:	5b                   	pop    %ebx
41313b:	5e                   	pop    %esi
41313c:	5f                   	pop    %edi
41313d:	c3                   	ret
41313e:	f7 c7 03 00 00 00    	test   $0x3,%edi
413144:	74 16                	je     0x41315c
413146:	88 07                	mov    %al,(%edi)
413148:	83 c7 01             	add    $0x1,%edi
41314b:	83 e9 01             	sub    $0x1,%ecx
41314e:	0f 84 98 00 00 00    	je     0x4131ec
413154:	f7 c7 03 00 00 00    	test   $0x3,%edi
41315a:	75 ea                	jne    0x413146
41315c:	8b d9                	mov    %ecx,%ebx
41315e:	c1 e9 02             	shr    $0x2,%ecx
413161:	75 74                	jne    0x4131d7
413163:	88 07                	mov    %al,(%edi)
413165:	83 c7 01             	add    $0x1,%edi
413168:	83 eb 01             	sub    $0x1,%ebx
41316b:	75 f6                	jne    0x413163
41316d:	5b                   	pop    %ebx
41316e:	5e                   	pop    %esi
41316f:	8b 44 24 08          	mov    0x8(%esp),%eax
413173:	5f                   	pop    %edi
413174:	c3                   	ret
413175:	89 17                	mov    %edx,(%edi)
413177:	83 c7 04             	add    $0x4,%edi
41317a:	83 e9 01             	sub    $0x1,%ecx
41317d:	74 9f                	je     0x41311e
41317f:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
413184:	8b 06                	mov    (%esi),%eax
413186:	03 d0                	add    %eax,%edx
413188:	83 f0 ff             	xor    $0xffffffff,%eax
41318b:	33 c2                	xor    %edx,%eax
41318d:	8b 16                	mov    (%esi),%edx
41318f:	83 c6 04             	add    $0x4,%esi
413192:	a9 00 01 01 81       	test   $0x81010100,%eax
413197:	74 dc                	je     0x413175
413199:	84 d2                	test   %dl,%dl
41319b:	74 2c                	je     0x4131c9
41319d:	84 f6                	test   %dh,%dh
41319f:	74 1e                	je     0x4131bf
4131a1:	f7 c2 00 00 ff 00    	test   $0xff0000,%edx
4131a7:	74 0c                	je     0x4131b5
4131a9:	f7 c2 00 00 00 ff    	test   $0xff000000,%edx
4131af:	75 c4                	jne    0x413175
4131b1:	89 17                	mov    %edx,(%edi)
4131b3:	eb 18                	jmp    0x4131cd
4131b5:	81 e2 ff ff 00 00    	and    $0xffff,%edx
4131bb:	89 17                	mov    %edx,(%edi)
4131bd:	eb 0e                	jmp    0x4131cd
4131bf:	81 e2 ff 00 00 00    	and    $0xff,%edx
4131c5:	89 17                	mov    %edx,(%edi)
4131c7:	eb 04                	jmp    0x4131cd
4131c9:	33 d2                	xor    %edx,%edx
4131cb:	89 17                	mov    %edx,(%edi)
4131cd:	83 c7 04             	add    $0x4,%edi
4131d0:	33 c0                	xor    %eax,%eax
4131d2:	83 e9 01             	sub    $0x1,%ecx
4131d5:	74 0c                	je     0x4131e3
4131d7:	33 c0                	xor    %eax,%eax
4131d9:	89 07                	mov    %eax,(%edi)
4131db:	83 c7 04             	add    $0x4,%edi
4131de:	83 e9 01             	sub    $0x1,%ecx
4131e1:	75 f6                	jne    0x4131d9
4131e3:	83 e3 03             	and    $0x3,%ebx
4131e6:	0f 85 77 ff ff ff    	jne    0x413163
4131ec:	8b 44 24 10          	mov    0x10(%esp),%eax
4131f0:	5b                   	pop    %ebx
4131f1:	5e                   	pop    %esi
4131f2:	5f                   	pop    %edi
4131f3:	c3                   	ret
4131f4:	8b ff                	mov    %edi,%edi
4131f6:	55                   	push   %ebp
4131f7:	8b ec                	mov    %esp,%ebp
4131f9:	53                   	push   %ebx
4131fa:	57                   	push   %edi
4131fb:	8b f9                	mov    %ecx,%edi
4131fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
413200:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
413204:	8d 5f 04             	lea    0x4(%edi),%ebx
413207:	85 c9                	test   %ecx,%ecx
413209:	74 07                	je     0x413212
41320b:	8b 01                	mov    (%ecx),%eax
41320d:	8b 49 04             	mov    0x4(%ecx),%ecx
413210:	eb 14                	jmp    0x413226
413212:	83 3d b8 f7 43 00 00 	cmpl   $0x0,0x43f7b8
413219:	75 12                	jne    0x41322d
41321b:	a1 10 d2 43 00       	mov    0x43d210,%eax
413220:	8b 0d 14 d2 43 00    	mov    0x43d214,%ecx
413226:	89 03                	mov    %eax,(%ebx)
413228:	89 4b 04             	mov    %ecx,0x4(%ebx)
41322b:	eb 41                	jmp    0x41326e
41322d:	56                   	push   %esi
41322e:	e8 b6 90 00 00       	call   0x41c2e9
413233:	89 07                	mov    %eax,(%edi)
413235:	8d 77 08             	lea    0x8(%edi),%esi
413238:	53                   	push   %ebx
413239:	50                   	push   %eax
41323a:	8b 48 4c             	mov    0x4c(%eax),%ecx
41323d:	89 0b                	mov    %ecx,(%ebx)
41323f:	8b 48 48             	mov    0x48(%eax),%ecx
413242:	89 0e                	mov    %ecx,(%esi)
413244:	e8 0d 97 00 00       	call   0x41c956
413249:	56                   	push   %esi
41324a:	ff 37                	push   (%edi)
41324c:	e8 63 97 00 00       	call   0x41c9b4
413251:	8b 0f                	mov    (%edi),%ecx
413253:	83 c4 10             	add    $0x10,%esp
413256:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
41325c:	5e                   	pop    %esi
41325d:	a8 02                	test   $0x2,%al
41325f:	75 0d                	jne    0x41326e
413261:	83 c8 02             	or     $0x2,%eax
413264:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
41326a:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
41326e:	8b c7                	mov    %edi,%eax
413270:	5f                   	pop    %edi
413271:	5b                   	pop    %ebx
413272:	5d                   	pop    %ebp
413273:	c2 04 00             	ret    $0x4
413276:	ff 31                	push   (%ecx)
413278:	e8 7b 01 00 00       	call   0x4133f8
41327d:	59                   	pop    %ecx
41327e:	c3                   	ret
41327f:	8b ff                	mov    %edi,%edi
413281:	55                   	push   %ebp
413282:	8b ec                	mov    %esp,%ebp
413284:	51                   	push   %ecx
413285:	51                   	push   %ecx
413286:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41328b:	33 c5                	xor    %ebp,%eax
41328d:	89 45 fc             	mov    %eax,-0x4(%ebp)
413290:	56                   	push   %esi
413291:	57                   	push   %edi
413292:	8b 7d 08             	mov    0x8(%ebp),%edi
413295:	85 ff                	test   %edi,%edi
413297:	75 16                	jne    0x4132af
413299:	e8 d3 93 00 00       	call   0x41c671
41329e:	6a 16                	push   $0x16
4132a0:	5e                   	pop    %esi
4132a1:	89 30                	mov    %esi,(%eax)
4132a3:	e8 46 a1 ff ff       	call   0x40d3ee
4132a8:	8b c6                	mov    %esi,%eax
4132aa:	e9 38 01 00 00       	jmp    0x4133e7
4132af:	ff 75 0c             	push   0xc(%ebp)
4132b2:	57                   	push   %edi
4132b3:	e8 ee 94 00 00       	call   0x41c7a6
4132b8:	59                   	pop    %ecx
4132b9:	59                   	pop    %ecx
4132ba:	3b 45 0c             	cmp    0xc(%ebp),%eax
4132bd:	72 07                	jb     0x4132c6
4132bf:	33 c0                	xor    %eax,%eax
4132c1:	66 89 07             	mov    %ax,(%edi)
4132c4:	eb d3                	jmp    0x413299
4132c6:	8b 45 10             	mov    0x10(%ebp),%eax
4132c9:	8b 00                	mov    (%eax),%eax
4132cb:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
4132d1:	85 c0                	test   %eax,%eax
4132d3:	75 2d                	jne    0x413302
4132d5:	0f b7 07             	movzwl (%edi),%eax
4132d8:	66 85 c0             	test   %ax,%ax
4132db:	74 1e                	je     0x4132fb
4132dd:	8b c8                	mov    %eax,%ecx
4132df:	8d 41 bf             	lea    -0x41(%ecx),%eax
4132e2:	66 83 f8 19          	cmp    $0x19,%ax
4132e6:	77 06                	ja     0x4132ee
4132e8:	8d 41 20             	lea    0x20(%ecx),%eax
4132eb:	66 89 07             	mov    %ax,(%edi)
4132ee:	83 c7 02             	add    $0x2,%edi
4132f1:	0f b7 07             	movzwl (%edi),%eax
4132f4:	8b c8                	mov    %eax,%ecx
4132f6:	66 85 c0             	test   %ax,%ax
4132f9:	75 e4                	jne    0x4132df
4132fb:	33 c0                	xor    %eax,%eax
4132fd:	e9 e5 00 00 00       	jmp    0x4133e7
413302:	33 f6                	xor    %esi,%esi
413304:	56                   	push   %esi
413305:	56                   	push   %esi
413306:	6a ff                	push   $0xffffffff
413308:	57                   	push   %edi
413309:	68 00 01 00 00       	push   $0x100
41330e:	50                   	push   %eax
41330f:	e8 62 c1 00 00       	call   0x41f476
413314:	83 c4 18             	add    $0x18,%esp
413317:	89 45 f8             	mov    %eax,-0x8(%ebp)
41331a:	85 c0                	test   %eax,%eax
41331c:	75 17                	jne    0x413335
41331e:	e8 4e 93 00 00       	call   0x41c671
413323:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
413329:	e8 43 93 00 00       	call   0x41c671
41332e:	8b 00                	mov    (%eax),%eax
413330:	e9 b2 00 00 00       	jmp    0x4133e7
413335:	39 45 0c             	cmp    %eax,0xc(%ebp)
413338:	73 11                	jae    0x41334b
41333a:	33 c0                	xor    %eax,%eax
41333c:	66 89 07             	mov    %ax,(%edi)
41333f:	e8 2d 93 00 00       	call   0x41c671
413344:	6a 22                	push   $0x22
413346:	e9 55 ff ff ff       	jmp    0x4132a0
41334b:	03 c0                	add    %eax,%eax
41334d:	8d 48 08             	lea    0x8(%eax),%ecx
413350:	3b c1                	cmp    %ecx,%eax
413352:	1b c0                	sbb    %eax,%eax
413354:	23 c1                	and    %ecx,%eax
413356:	74 74                	je     0x4133cc
413358:	3d 00 04 00 00       	cmp    $0x400,%eax
41335d:	77 13                	ja     0x413372
41335f:	e8 ac aa 01 00       	call   0x42de10
413364:	8b f4                	mov    %esp,%esi
413366:	85 f6                	test   %esi,%esi
413368:	74 62                	je     0x4133cc
41336a:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
413370:	eb 13                	jmp    0x413385
413372:	50                   	push   %eax
413373:	e8 b8 38 ff ff       	call   0x406c30
413378:	8b f0                	mov    %eax,%esi
41337a:	59                   	pop    %ecx
41337b:	85 f6                	test   %esi,%esi
41337d:	74 4d                	je     0x4133cc
41337f:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
413385:	83 c6 08             	add    $0x8,%esi
413388:	85 f6                	test   %esi,%esi
41338a:	74 40                	je     0x4133cc
41338c:	ff 75 f8             	push   -0x8(%ebp)
41338f:	8b 45 10             	mov    0x10(%ebp),%eax
413392:	56                   	push   %esi
413393:	6a ff                	push   $0xffffffff
413395:	57                   	push   %edi
413396:	8b 00                	mov    (%eax),%eax
413398:	68 00 01 00 00       	push   $0x100
41339d:	ff b0 a8 00 00 00    	push   0xa8(%eax)
4133a3:	e8 ce c0 00 00       	call   0x41f476
4133a8:	83 c4 18             	add    $0x18,%esp