43904f:	8b 46 04             	mov    0x4(%esi),%eax
439052:	3b 38                	cmp    (%eax),%edi
439054:	75 12                	jne    0x439068
439056:	89 18                	mov    %ebx,(%eax)
439058:	eb 0e                	jmp    0x439068
43905a:	89 5f 08             	mov    %ebx,0x8(%edi)
43905d:	8b 46 04             	mov    0x4(%esi),%eax
439060:	3b 78 08             	cmp    0x8(%eax),%edi
439063:	75 03                	jne    0x439068
439065:	89 58 08             	mov    %ebx,0x8(%eax)
439068:	8b fb                	mov    %ebx,%edi
43906a:	8d 4b 04             	lea    0x4(%ebx),%ecx
43906d:	e9 91 00 00 00       	jmp    0x439103
439072:	8b 50 04             	mov    0x4(%eax),%edx
439075:	8b 12                	mov    (%edx),%edx
439077:	3b c2                	cmp    %edx,%eax
439079:	75 3b                	jne    0x4390b6
43907b:	8b 50 04             	mov    0x4(%eax),%edx
43907e:	8b 52 08             	mov    0x8(%edx),%edx
439081:	80 7a 38 00          	cmpb   $0x0,0x38(%edx)
439085:	74 35                	je     0x4390bc
439087:	3b 78 08             	cmp    0x8(%eax),%edi
43908a:	75 0a                	jne    0x439096
43908c:	8b f8                	mov    %eax,%edi
43908e:	8b ce                	mov    %esi,%ecx
439090:	57                   	push   %edi
439091:	e8 1c ff ff ff       	call   0x438fb2
439096:	8b 47 04             	mov    0x4(%edi),%eax
439099:	8b ce                	mov    %esi,%ecx
43909b:	c6 40 38 01          	movb   $0x1,0x38(%eax)
43909f:	8b 47 04             	mov    0x4(%edi),%eax
4390a2:	8b 40 04             	mov    0x4(%eax),%eax
4390a5:	c6 40 38 00          	movb   $0x0,0x38(%eax)
4390a9:	8b 47 04             	mov    0x4(%edi),%eax
4390ac:	ff 70 04             	push   0x4(%eax)
4390af:	e8 b5 fe ff ff       	call   0x438f69
4390b4:	eb 4a                	jmp    0x439100
4390b6:	80 7a 38 00          	cmpb   $0x0,0x38(%edx)
4390ba:	75 18                	jne    0x4390d4
4390bc:	c6 40 38 01          	movb   $0x1,0x38(%eax)
4390c0:	c6 42 38 01          	movb   $0x1,0x38(%edx)
4390c4:	8b 01                	mov    (%ecx),%eax
4390c6:	8b 40 04             	mov    0x4(%eax),%eax
4390c9:	c6 40 38 00          	movb   $0x0,0x38(%eax)
4390cd:	8b 01                	mov    (%ecx),%eax
4390cf:	8b 78 04             	mov    0x4(%eax),%edi
4390d2:	eb 2c                	jmp    0x439100
4390d4:	3b 38                	cmp    (%eax),%edi
4390d6:	75 0a                	jne    0x4390e2
4390d8:	8b f8                	mov    %eax,%edi
4390da:	8b ce                	mov    %esi,%ecx
4390dc:	57                   	push   %edi
4390dd:	e8 87 fe ff ff       	call   0x438f69
4390e2:	8b 47 04             	mov    0x4(%edi),%eax
4390e5:	8b ce                	mov    %esi,%ecx
4390e7:	c6 40 38 01          	movb   $0x1,0x38(%eax)
4390eb:	8b 47 04             	mov    0x4(%edi),%eax
4390ee:	8b 40 04             	mov    0x4(%eax),%eax
4390f1:	c6 40 38 00          	movb   $0x0,0x38(%eax)
4390f5:	8b 47 04             	mov    0x4(%edi),%eax
4390f8:	ff 70 04             	push   0x4(%eax)
4390fb:	e8 b2 fe ff ff       	call   0x438fb2
439100:	8d 4f 04             	lea    0x4(%edi),%ecx
439103:	8b 01                	mov    (%ecx),%eax
439105:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
439109:	0f 84 63 ff ff ff    	je     0x439072
43910f:	8b 4e 04             	mov    0x4(%esi),%ecx
439112:	8b 45 a8             	mov    -0x58(%ebp),%eax
439115:	8b 49 04             	mov    0x4(%ecx),%ecx
439118:	c6 41 38 01          	movb   $0x1,0x38(%ecx)
43911c:	89 18                	mov    %ebx,(%eax)
43911e:	e8 92 73 05 00       	call   0x4904b5
439123:	c2 10 00             	ret    $0x10
439126:	68 c0 f9 40 00       	push   $0x40f9c0
43912b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
43912e:	e8 59 2d fe ff       	call   0x41be8c
439133:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439137:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43913a:	50                   	push   %eax
43913b:	8d 4d ac             	lea    -0x54(%ebp),%ecx
43913e:	e8 27 28 fe ff       	call   0x41b96a
439143:	68 c8 ea 49 00       	push   $0x49eac8
439148:	8d 45 ac             	lea    -0x54(%ebp),%eax
43914b:	50                   	push   %eax
43914c:	e8 4a 73 05 00       	call   0x49049b
439151:	cc                   	int3
439152:	6a 38                	push   $0x38
439154:	b8 46 2a 49 00       	mov    $0x492a46,%eax
439159:	e8 de 73 05 00       	call   0x49053c
43915e:	8b d9                	mov    %ecx,%ebx
439160:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
439164:	8d 7d bc             	lea    -0x44(%ebp),%edi
439167:	8b 75 10             	mov    0x10(%ebp),%esi
43916a:	6a 0a                	push   $0xa
43916c:	59                   	pop    %ecx
43916d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
43916f:	6a 28                	push   $0x28
439171:	5f                   	pop    %edi
439172:	75 04                	jne    0x439178
439174:	33 c0                	xor    %eax,%eax
439176:	eb 09                	jmp    0x439181
439178:	8b 43 0c             	mov    0xc(%ebx),%eax
43917b:	2b 43 04             	sub    0x4(%ebx),%eax
43917e:	99                   	cltd
43917f:	f7 ff                	idiv   %edi
439181:	8b 75 0c             	mov    0xc(%ebp),%esi
439184:	89 45 e4             	mov    %eax,-0x1c(%ebp)
439187:	85 f6                	test   %esi,%esi
439189:	0f 84 8c 01 00 00    	je     0x43931b
43918f:	8b cb                	mov    %ebx,%ecx
439191:	e8 21 f8 ff ff       	call   0x4389b7
439196:	b9 66 66 66 06       	mov    $0x6666666,%ecx
43919b:	2b c8                	sub    %eax,%ecx
43919d:	3b ce                	cmp    %esi,%ecx
43919f:	0f 82 7e 01 00 00    	jb     0x439323
4391a5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4391a8:	8d 14 30             	lea    (%eax,%esi,1),%edx
4391ab:	3b ca                	cmp    %edx,%ecx
4391ad:	0f 83 a0 00 00 00    	jae    0x439253
4391b3:	8b c1                	mov    %ecx,%eax
4391b5:	bf 66 66 66 06       	mov    $0x6666666,%edi
4391ba:	d1 e8                	shr    $1,%eax
4391bc:	2b f8                	sub    %eax,%edi
4391be:	03 c1                	add    %ecx,%eax
4391c0:	3b f9                	cmp    %ecx,%edi
4391c2:	1b ff                	sbb    %edi,%edi
4391c4:	f7 d7                	not    %edi
4391c6:	23 f8                	and    %eax,%edi
4391c8:	3b fa                	cmp    %edx,%edi
4391ca:	73 02                	jae    0x4391ce
4391cc:	8b fa                	mov    %edx,%edi
4391ce:	57                   	push   %edi
4391cf:	e8 67 01 00 00       	call   0x43933b
4391d4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4391d8:	8b 55 08             	mov    0x8(%ebp),%edx
4391db:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4391de:	ff 75 e4             	push   -0x1c(%ebp)
4391e1:	ff 75 e4             	push   -0x1c(%ebp)
4391e4:	51                   	push   %ecx
4391e5:	8b 4b 04             	mov    0x4(%ebx),%ecx
4391e8:	50                   	push   %eax
4391e9:	e8 af 02 00 00       	call   0x43949d
4391ee:	ff 75 e4             	push   -0x1c(%ebp)
4391f1:	8b c8                	mov    %eax,%ecx
4391f3:	8b d6                	mov    %esi,%edx
4391f5:	ff 75 e4             	push   -0x1c(%ebp)
4391f8:	6b c6 28             	imul   $0x28,%esi,%eax
4391fb:	51                   	push   %ecx
4391fc:	03 c1                	add    %ecx,%eax
4391fe:	89 45 e8             	mov    %eax,-0x18(%ebp)
439201:	8d 45 bc             	lea    -0x44(%ebp),%eax
439204:	50                   	push   %eax
439205:	e8 6e 02 00 00       	call   0x439478
43920a:	ff 75 e4             	push   -0x1c(%ebp)
43920d:	8b 53 08             	mov    0x8(%ebx),%edx
439210:	ff 75 e4             	push   -0x1c(%ebp)
439213:	51                   	push   %ecx
439214:	ff 75 e8             	push   -0x18(%ebp)
439217:	8b 4d 08             	mov    0x8(%ebp),%ecx
43921a:	e8 7e 02 00 00       	call   0x43949d
43921f:	8b cb                	mov    %ebx,%ecx
439221:	e8 91 f7 ff ff       	call   0x4389b7
439226:	03 f0                	add    %eax,%esi
439228:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
43922c:	74 0a                	je     0x439238
43922e:	ff 73 04             	push   0x4(%ebx)
439231:	ff 15 10 74 4a 00    	call   *0x4a7410
439237:	59                   	pop    %ecx
439238:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43923b:	6b c7 28             	imul   $0x28,%edi,%eax
43923e:	89 4b 04             	mov    %ecx,0x4(%ebx)
439241:	03 c1                	add    %ecx,%eax
439243:	89 43 0c             	mov    %eax,0xc(%ebx)
439246:	6b c6 28             	imul   $0x28,%esi,%eax
439249:	03 c1                	add    %ecx,%eax
43924b:	89 43 08             	mov    %eax,0x8(%ebx)
43924e:	e9 c8 00 00 00       	jmp    0x43931b
439253:	8b 43 08             	mov    0x8(%ebx),%eax
439256:	6b ce 28             	imul   $0x28,%esi,%ecx
439259:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43925c:	ff 75 e4             	push   -0x1c(%ebp)
43925f:	ff 75 e4             	push   -0x1c(%ebp)
439262:	89 4d e8             	mov    %ecx,-0x18(%ebp)
439265:	8b 4d 08             	mov    0x8(%ebp),%ecx
439268:	2b c1                	sub    %ecx,%eax
43926a:	99                   	cltd
43926b:	f7 ff                	idiv   %edi
43926d:	51                   	push   %ecx
43926e:	3b c6                	cmp    %esi,%eax
439270:	73 57                	jae    0x4392c9
439272:	8b 45 e8             	mov    -0x18(%ebp),%eax
439275:	8b 55 e4             	mov    -0x1c(%ebp),%edx
439278:	03 c1                	add    %ecx,%eax
43927a:	50                   	push   %eax
43927b:	e8 1d 02 00 00       	call   0x43949d
439280:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
439287:	8b 4b 08             	mov    0x8(%ebx),%ecx
43928a:	8b c1                	mov    %ecx,%eax
43928c:	2b 45 08             	sub    0x8(%ebp),%eax
43928f:	99                   	cltd
439290:	f7 ff                	idiv   %edi
439292:	ff 75 e4             	push   -0x1c(%ebp)
439295:	2b f0                	sub    %eax,%esi
439297:	8d 45 bc             	lea    -0x44(%ebp),%eax
43929a:	ff 75 e4             	push   -0x1c(%ebp)
43929d:	8b d6                	mov    %esi,%edx
43929f:	51                   	push   %ecx
4392a0:	50                   	push   %eax
4392a1:	e8 d2 01 00 00       	call   0x439478
4392a6:	8b 53 08             	mov    0x8(%ebx),%edx
4392a9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4392ac:	03 c2                	add    %edx,%eax
4392ae:	89 43 08             	mov    %eax,0x8(%ebx)
4392b1:	8b 45 08             	mov    0x8(%ebp),%eax
4392b4:	eb 0d                	jmp    0x4392c3
4392b6:	6a 0a                	push   $0xa
4392b8:	8b f8                	mov    %eax,%edi
4392ba:	8d 75 bc             	lea    -0x44(%ebp),%esi
4392bd:	59                   	pop    %ecx
4392be:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4392c0:	83 c0 28             	add    $0x28,%eax
4392c3:	3b c2                	cmp    %edx,%eax
4392c5:	75 ef                	jne    0x4392b6
4392c7:	eb 52                	jmp    0x43931b
4392c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4392cc:	8b f0                	mov    %eax,%esi
4392ce:	2b 75 e8             	sub    -0x18(%ebp),%esi
4392d1:	8b d0                	mov    %eax,%edx
4392d3:	50                   	push   %eax
4392d4:	8b ce                	mov    %esi,%ecx
4392d6:	e8 c2 01 00 00       	call   0x43949d
4392db:	89 43 08             	mov    %eax,0x8(%ebx)
4392de:	8b 45 08             	mov    0x8(%ebp),%eax
4392e1:	3b f0                	cmp    %eax,%esi
4392e3:	74 1e                	je     0x439303
4392e5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4392e8:	2b f7                	sub    %edi,%esi
4392ea:	2b d7                	sub    %edi,%edx
4392ec:	6a 0a                	push   $0xa
4392ee:	59                   	pop    %ecx
4392ef:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4392f2:	8b fa                	mov    %edx,%edi
4392f4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4392f6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4392f9:	6a 28                	push   $0x28
4392fb:	5f                   	pop    %edi
4392fc:	3b f0                	cmp    %eax,%esi
4392fe:	75 e8                	jne    0x4392e8
439300:	8b 45 08             	mov    0x8(%ebp),%eax
439303:	8b 55 e8             	mov    -0x18(%ebp),%edx
439306:	03 d0                	add    %eax,%edx
439308:	eb 0d                	jmp    0x439317
43930a:	6a 0a                	push   $0xa
43930c:	8b f8                	mov    %eax,%edi
43930e:	8d 75 bc             	lea    -0x44(%ebp),%esi
439311:	59                   	pop    %ecx
439312:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
439314:	83 c0 28             	add    $0x28,%eax
439317:	3b c2                	cmp    %edx,%eax
439319:	75 ef                	jne    0x43930a
43931b:	e8 81 71 05 00       	call   0x4904a1
439320:	c2 0c 00             	ret    $0xc
439323:	e8 e7 82 ff ff       	call   0x43160f
439328:	51                   	push   %ecx
439329:	ff 75 e4             	push   -0x1c(%ebp)
43932c:	e8 7e 46 fe ff       	call   0x41d9af
439331:	6a 00                	push   $0x0
439333:	6a 00                	push   $0x0
439335:	e8 61 71 05 00       	call   0x49049b
43933a:	cc                   	int3
43933b:	8b ff                	mov    %edi,%edi
43933d:	55                   	push   %ebp
43933e:	8b ec                	mov    %esp,%ebp
439340:	8b 4d 08             	mov    0x8(%ebp),%ecx
439343:	83 ec 0c             	sub    $0xc,%esp
439346:	85 c9                	test   %ecx,%ecx
439348:	75 0f                	jne    0x439359
43934a:	6b c1 28             	imul   $0x28,%ecx,%eax
43934d:	50                   	push   %eax
43934e:	ff 15 14 74 4a 00    	call   *0x4a7414
439354:	59                   	pop    %ecx
439355:	c9                   	leave
439356:	c2 04 00             	ret    $0x4
439359:	83 c8 ff             	or     $0xffffffff,%eax
43935c:	33 d2                	xor    %edx,%edx
43935e:	f7 f1                	div    %ecx
439360:	83 f8 28             	cmp    $0x28,%eax
439363:	73 e5                	jae    0x43934a
439365:	6a 00                	push   $0x0
439367:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43936a:	e8 5d 31 fe ff       	call   0x41c4cc
43936f:	68 4c eb 49 00       	push   $0x49eb4c
439374:	8d 45 f4             	lea    -0xc(%ebp),%eax
439377:	50                   	push   %eax
439378:	e8 1e 71 05 00       	call   0x49049b
43937d:	cc                   	int3
43937e:	8b ff                	mov    %edi,%edi
439380:	55                   	push   %ebp
439381:	8b ec                	mov    %esp,%ebp
439383:	56                   	push   %esi
439384:	57                   	push   %edi
439385:	6a 3c                	push   $0x3c
439387:	ff 15 14 74 4a 00    	call   *0x4a7414
43938d:	8b 75 14             	mov    0x14(%ebp),%esi
439390:	59                   	pop    %ecx
439391:	8b 4d 08             	mov    0x8(%ebp),%ecx
439394:	89 08                	mov    %ecx,(%eax)
439396:	8d 78 0c             	lea    0xc(%eax),%edi
439399:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43939c:	89 48 04             	mov    %ecx,0x4(%eax)
43939f:	8b 4d 10             	mov    0x10(%ebp),%ecx
4393a2:	6a 0b                	push   $0xb
4393a4:	89 48 08             	mov    %ecx,0x8(%eax)
4393a7:	59                   	pop    %ecx
4393a8:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4393aa:	5f                   	pop    %edi
4393ab:	66 c7 40 38 00 00    	movw   $0x0,0x38(%eax)
4393b1:	5e                   	pop    %esi
4393b2:	5d                   	pop    %ebp
4393b3:	c2 14 00             	ret    $0x14
4393b6:	8b ff                	mov    %edi,%edi
4393b8:	55                   	push   %ebp
4393b9:	8b ec                	mov    %esp,%ebp
4393bb:	83 e4 f8             	and    $0xfffffff8,%esp
4393be:	51                   	push   %ecx
4393bf:	51                   	push   %ecx
4393c0:	56                   	push   %esi
4393c1:	8b 75 0c             	mov    0xc(%ebp),%esi
4393c4:	57                   	push   %edi
4393c5:	8b f9                	mov    %ecx,%edi
4393c7:	8b 47 04             	mov    0x4(%edi),%eax
4393ca:	3b 30                	cmp    (%eax),%esi
4393cc:	75 46                	jne    0x439414
4393ce:	39 45 10             	cmp    %eax,0x10(%ebp)
4393d1:	75 41                	jne    0x439414
4393d3:	ff 70 04             	push   0x4(%eax)
4393d6:	e8 65 00 00 00       	call   0x439440
4393db:	8b 47 04             	mov    0x4(%edi),%eax
4393de:	89 40 04             	mov    %eax,0x4(%eax)
4393e1:	8b 47 04             	mov    0x4(%edi),%eax
4393e4:	83 67 08 00          	andl   $0x0,0x8(%edi)
4393e8:	89 00                	mov    %eax,(%eax)
4393ea:	8b 47 04             	mov    0x4(%edi),%eax
4393ed:	89 40 08             	mov    %eax,0x8(%eax)
4393f0:	8b 47 04             	mov    0x4(%edi),%eax
4393f3:	8b 08                	mov    (%eax),%ecx
4393f5:	8b 45 08             	mov    0x8(%ebp),%eax
4393f8:	89 08                	mov    %ecx,(%eax)
4393fa:	eb 22                	jmp    0x43941e
4393fc:	8d 4d 0c             	lea    0xc(%ebp),%ecx