6160e6:	57                   	push   %edi
6160e7:	8b 7d 08             	mov    0x8(%ebp),%edi
6160ea:	57                   	push   %edi
6160eb:	8b 4e 14             	mov    0x14(%esi),%ecx
6160ee:	e8 77 00 00 00       	call   0x61616a
6160f3:	85 c0                	test   %eax,%eax
6160f5:	74 05                	je     0x6160fc
6160f7:	33 c0                	xor    %eax,%eax
6160f9:	40                   	inc    %eax
6160fa:	eb 11                	jmp    0x61610d
6160fc:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
616100:	76 09                	jbe    0x61610b
616102:	8b 46 1c             	mov    0x1c(%esi),%eax
616105:	8a 00                	mov    (%eax),%al
616107:	88 07                	mov    %al,(%edi)
616109:	eb ec                	jmp    0x6160f7
61610b:	33 c0                	xor    %eax,%eax
61610d:	5f                   	pop    %edi
61610e:	5e                   	pop    %esi
61610f:	5d                   	pop    %ebp
616110:	c2 04 00             	ret    $0x4
616113:	cc                   	int3
616114:	cc                   	int3
616115:	cc                   	int3
616116:	cc                   	int3
616117:	cc                   	int3
616118:	cc                   	int3
616119:	cc                   	int3
61611a:	cc                   	int3
61611b:	cc                   	int3
61611c:	cc                   	int3
61611d:	cc                   	int3
61611e:	cc                   	int3
61611f:	cc                   	int3
616120:	55                   	push   %ebp
616121:	8b ec                	mov    %esp,%ebp
616123:	83 ec 24             	sub    $0x24,%esp
616126:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61612b:	33 c5                	xor    %ebp,%eax
61612d:	89 45 fc             	mov    %eax,-0x4(%ebp)
616130:	56                   	push   %esi
616131:	ff 75 0c             	push   0xc(%ebp)
616134:	8b f1                	mov    %ecx,%esi
616136:	8d 4d dc             	lea    -0x24(%ebp),%ecx
616139:	ff 75 08             	push   0x8(%ebp)
61613c:	e8 f8 d5 ff ff       	call   0x613739
616141:	68 74 93 72 00       	push   $0x729374
616146:	33 c0                	xor    %eax,%eax
616148:	8b ce                	mov    %esi,%ecx
61614a:	50                   	push   %eax
61614b:	ff 75 0c             	push   0xc(%ebp)
61614e:	50                   	push   %eax
61614f:	50                   	push   %eax
616150:	8d 45 dc             	lea    -0x24(%ebp),%eax
616153:	50                   	push   %eax
616154:	e8 2c e4 ff ff       	call   0x614585
616159:	8b 4d fc             	mov    -0x4(%ebp),%ecx
61615c:	33 cd                	xor    %ebp,%ecx
61615e:	5e                   	pop    %esi
61615f:	e8 76 b3 fc ff       	call   0x5e14da
616164:	8b e5                	mov    %ebp,%esp
616166:	5d                   	pop    %ebp
616167:	c2 08 00             	ret    $0x8
61616a:	55                   	push   %ebp
61616b:	8b ec                	mov    %esp,%ebp
61616d:	8b 51 10             	mov    0x10(%ecx),%edx
616170:	39 51 14             	cmp    %edx,0x14(%ecx)
616173:	75 04                	jne    0x616179
616175:	33 c0                	xor    %eax,%eax
616177:	eb 0e                	jmp    0x616187
616179:	8b 41 0c             	mov    0xc(%ecx),%eax
61617c:	8a 0c 02             	mov    (%edx,%eax,1),%cl
61617f:	8b 45 08             	mov    0x8(%ebp),%eax
616182:	88 08                	mov    %cl,(%eax)
616184:	33 c0                	xor    %eax,%eax
616186:	40                   	inc    %eax
616187:	5d                   	pop    %ebp
616188:	c2 04 00             	ret    $0x4
61618b:	cc                   	int3
61618c:	cc                   	int3
61618d:	cc                   	int3
61618e:	cc                   	int3
61618f:	cc                   	int3
616190:	55                   	push   %ebp
616191:	8b ec                	mov    %esp,%ebp
616193:	83 ec 24             	sub    $0x24,%esp
616196:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61619b:	33 c5                	xor    %ebp,%eax
61619d:	89 45 fc             	mov    %eax,-0x4(%ebp)
6161a0:	56                   	push   %esi
6161a1:	6a 01                	push   $0x1
6161a3:	ff 75 08             	push   0x8(%ebp)
6161a6:	8b f1                	mov    %ecx,%esi
6161a8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
6161ab:	e8 89 d5 ff ff       	call   0x613739
6161b0:	68 74 93 72 00       	push   $0x729374
6161b5:	33 c0                	xor    %eax,%eax
6161b7:	8b ce                	mov    %esi,%ecx
6161b9:	50                   	push   %eax
6161ba:	6a 01                	push   $0x1
6161bc:	50                   	push   %eax
6161bd:	50                   	push   %eax
6161be:	8d 45 dc             	lea    -0x24(%ebp),%eax
6161c1:	50                   	push   %eax
6161c2:	e8 be e3 ff ff       	call   0x614585
6161c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
6161ca:	33 cd                	xor    %ebp,%ecx
6161cc:	5e                   	pop    %esi
6161cd:	e8 08 b3 fc ff       	call   0x5e14da
6161d2:	8b e5                	mov    %ebp,%esp
6161d4:	5d                   	pop    %ebp
6161d5:	c2 04 00             	ret    $0x4
6161d8:	cc                   	int3
6161d9:	cc                   	int3
6161da:	cc                   	int3
6161db:	cc                   	int3
6161dc:	cc                   	int3
6161dd:	cc                   	int3
6161de:	cc                   	int3
6161df:	cc                   	int3
6161e0:	6a 00                	push   $0x0
6161e2:	b8 ad 21 66 00       	mov    $0x6621ad,%eax
6161e7:	e8 cf bd fc ff       	call   0x5e1fbb
6161ec:	8b f1                	mov    %ecx,%esi
6161ee:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
6161f2:	76 05                	jbe    0x6161f9
6161f4:	e8 9f fc ff ff       	call   0x615e98
6161f9:	8b 7d 0c             	mov    0xc(%ebp),%edi
6161fc:	8b 5d 08             	mov    0x8(%ebp),%ebx
6161ff:	8b 4e 18             	mov    0x18(%esi),%ecx
616202:	eb 67                	jmp    0x61626b
616204:	2b f8                	sub    %eax,%edi
616206:	03 d8                	add    %eax,%ebx
616208:	80 7e 0c 00          	cmpb   $0x0,0xc(%esi)
61620c:	89 7d 0c             	mov    %edi,0xc(%ebp)
61620f:	74 1c                	je     0x61622d
616211:	81 7e 10 00 40 00 00 	cmpl   $0x4000,0x10(%esi)
616218:	73 13                	jae    0x61622d
61621a:	8b 46 10             	mov    0x10(%esi),%eax
61621d:	03 c0                	add    %eax,%eax
61621f:	89 46 10             	mov    %eax,0x10(%esi)
616222:	3b c7                	cmp    %edi,%eax
616224:	73 07                	jae    0x61622d
616226:	3d 00 40 00 00       	cmp    $0x4000,%eax
61622b:	72 ed                	jb     0x61621a
61622d:	6a 18                	push   $0x18
61622f:	e8 0e ae fc ff       	call   0x5e1042
616234:	59                   	pop    %ecx
616235:	89 45 08             	mov    %eax,0x8(%ebp)
616238:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61623c:	85 c0                	test   %eax,%eax
61623e:	74 18                	je     0x616258
616240:	8d 4e 10             	lea    0x10(%esi),%ecx
616243:	39 39                	cmp    %edi,(%ecx)
616245:	8d 55 0c             	lea    0xc(%ebp),%edx
616248:	0f 43 d1             	cmovae %ecx,%edx
61624b:	8b c8                	mov    %eax,%ecx
61624d:	ff 32                	push   (%edx)
61624f:	e8 f1 f7 ff ff       	call   0x615a45
616254:	8b c8                	mov    %eax,%ecx
616256:	eb 02                	jmp    0x61625a
616258:	33 c9                	xor    %ecx,%ecx
61625a:	8b 46 18             	mov    0x18(%esi),%eax
61625d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
616261:	89 08                	mov    %ecx,(%eax)
616263:	8b 46 18             	mov    0x18(%esi),%eax
616266:	8b 08                	mov    (%eax),%ecx
616268:	89 4e 18             	mov    %ecx,0x18(%esi)
61626b:	57                   	push   %edi
61626c:	53                   	push   %ebx
61626d:	e8 0e 00 00 00       	call   0x616280
616272:	3b c7                	cmp    %edi,%eax
616274:	72 8e                	jb     0x616204
616276:	33 c0                	xor    %eax,%eax
616278:	e8 18 bd fc ff       	call   0x5e1f95
61627d:	c2 10 00             	ret    $0x10
616280:	55                   	push   %ebp
616281:	8b ec                	mov    %esp,%ebp
616283:	56                   	push   %esi
616284:	8b 75 0c             	mov    0xc(%ebp),%esi
616287:	57                   	push   %edi
616288:	8b f9                	mov    %ecx,%edi
61628a:	8b 47 08             	mov    0x8(%edi),%eax
61628d:	2b 47 14             	sub    0x14(%edi),%eax
616290:	3b c6                	cmp    %esi,%eax
616292:	0f 42 f0             	cmovb  %eax,%esi
616295:	8b 47 0c             	mov    0xc(%edi),%eax
616298:	03 47 14             	add    0x14(%edi),%eax
61629b:	3b 45 08             	cmp    0x8(%ebp),%eax
61629e:	74 0d                	je     0x6162ad
6162a0:	56                   	push   %esi
6162a1:	ff 75 08             	push   0x8(%ebp)
6162a4:	50                   	push   %eax
6162a5:	e8 56 cc fc ff       	call   0x5e2f00
6162aa:	83 c4 0c             	add    $0xc,%esp
6162ad:	01 77 14             	add    %esi,0x14(%edi)
6162b0:	8b c6                	mov    %esi,%eax
6162b2:	5f                   	pop    %edi
6162b3:	5e                   	pop    %esi
6162b4:	5d                   	pop    %ebp
6162b5:	c2 08 00             	ret    $0x8
6162b8:	55                   	push   %ebp
6162b9:	8b ec                	mov    %esp,%ebp
6162bb:	8b 55 08             	mov    0x8(%ebp),%edx
6162be:	85 d2                	test   %edx,%edx
6162c0:	56                   	push   %esi
6162c1:	0f 94 c0             	sete   %al
6162c4:	be 00 01 00 00       	mov    $0x100,%esi
6162c9:	84 c0                	test   %al,%al
6162cb:	88 41 0c             	mov    %al,0xc(%ecx)
6162ce:	0f 45 d6             	cmovne %esi,%edx
6162d1:	89 51 10             	mov    %edx,0x10(%ecx)
6162d4:	5e                   	pop    %esi
6162d5:	5d                   	pop    %ebp
6162d6:	c2 04 00             	ret    $0x4
6162d9:	55                   	push   %ebp
6162da:	8b ec                	mov    %esp,%ebp
6162dc:	8b 41 14             	mov    0x14(%ecx),%eax
6162df:	56                   	push   %esi
6162e0:	8b 75 08             	mov    0x8(%ebp),%esi
6162e3:	8b 50 14             	mov    0x14(%eax),%edx
6162e6:	2b 50 10             	sub    0x10(%eax),%edx
6162e9:	89 16                	mov    %edx,(%esi)
6162eb:	75 0e                	jne    0x6162fb
6162ed:	8b 41 20             	mov    0x20(%ecx),%eax
6162f0:	85 c0                	test   %eax,%eax
6162f2:	74 07                	je     0x6162fb
6162f4:	89 06                	mov    %eax,(%esi)
6162f6:	8b 41 1c             	mov    0x1c(%ecx),%eax
6162f9:	eb 09                	jmp    0x616304
6162fb:	8b 49 14             	mov    0x14(%ecx),%ecx
6162fe:	8b 41 10             	mov    0x10(%ecx),%eax
616301:	03 41 0c             	add    0xc(%ecx),%eax
616304:	5e                   	pop    %esi
616305:	5d                   	pop    %ebp
616306:	c2 04 00             	ret    $0x4
616309:	cc                   	int3
61630a:	cc                   	int3
61630b:	cc                   	int3
61630c:	cc                   	int3
61630d:	cc                   	int3
61630e:	cc                   	int3
61630f:	cc                   	int3
616310:	55                   	push   %ebp
616311:	8b ec                	mov    %esp,%ebp
616313:	83 ec 4c             	sub    $0x4c,%esp
616316:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61631b:	33 c5                	xor    %ebp,%eax
61631d:	89 45 fc             	mov    %eax,-0x4(%ebp)
616320:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
616324:	8b 55 08             	mov    0x8(%ebp),%edx
616327:	53                   	push   %ebx
616328:	8b 5d 0c             	mov    0xc(%ebp),%ebx
61632b:	56                   	push   %esi
61632c:	8b 75 10             	mov    0x10(%ebp),%esi
61632f:	57                   	push   %edi
616330:	8b f9                	mov    %ecx,%edi
616332:	89 55 c4             	mov    %edx,-0x3c(%ebp)
616335:	89 7d b8             	mov    %edi,-0x48(%ebp)
616338:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
61633b:	89 75 bc             	mov    %esi,-0x44(%ebp)
61633e:	0f 84 ab 00 00 00    	je     0x6163ef
616344:	8b 47 14             	mov    0x14(%edi),%eax
616347:	8b 33                	mov    (%ebx),%esi
616349:	8b 4b 04             	mov    0x4(%ebx),%ecx
61634c:	89 45 c0             	mov    %eax,-0x40(%ebp)
61634f:	8b c6                	mov    %esi,%eax
616351:	0b c1                	or     %ecx,%eax
616353:	89 4d c8             	mov    %ecx,-0x38(%ebp)
616356:	74 31                	je     0x616389
616358:	8b 7d c0             	mov    -0x40(%ebp),%edi
61635b:	8b d9                	mov    %ecx,%ebx
61635d:	85 ff                	test   %edi,%edi
61635f:	74 1f                	je     0x616380
616361:	ff 75 bc             	push   -0x44(%ebp)
616364:	8b cf                	mov    %edi,%ecx
616366:	53                   	push   %ebx
616367:	56                   	push   %esi
616368:	52                   	push   %edx
616369:	e8 b4 01 00 00       	call   0x616522
61636e:	8b 3f                	mov    (%edi),%edi
616370:	2b f0                	sub    %eax,%esi
616372:	8b 55 c4             	mov    -0x3c(%ebp),%edx
616375:	6a 00                	push   $0x0
616377:	58                   	pop    %eax
616378:	1b d8                	sbb    %eax,%ebx
61637a:	8b c6                	mov    %esi,%eax
61637c:	0b c3                	or     %ebx,%eax
61637e:	75 dd                	jne    0x61635d
616380:	8b 7d b8             	mov    -0x48(%ebp),%edi
616383:	89 5d c8             	mov    %ebx,-0x38(%ebp)
616386:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
616389:	8b cf                	mov    %edi,%ecx
61638b:	e8 97 f8 ff ff       	call   0x615c27
616390:	8b 45 c8             	mov    -0x38(%ebp),%eax
616393:	33 d2                	xor    %edx,%edx
616395:	8b 4f 20             	mov    0x20(%edi),%ecx
616398:	89 4d c0             	mov    %ecx,-0x40(%ebp)
61639b:	3b d0                	cmp    %eax,%edx
61639d:	77 06                	ja     0x6163a5
61639f:	72 09                	jb     0x6163aa
6163a1:	3b ce                	cmp    %esi,%ecx
6163a3:	72 05                	jb     0x6163aa
6163a5:	8b ce                	mov    %esi,%ecx
6163a7:	89 75 c0             	mov    %esi,-0x40(%ebp)
6163aa:	85 c9                	test   %ecx,%ecx
6163ac:	74 38                	je     0x6163e6
6163ae:	38 57 24             	cmp    %dl,0x24(%edi)
6163b1:	8b 55 c4             	mov    -0x3c(%ebp),%edx
6163b4:	6a 01                	push   $0x1
6163b6:	6a 00                	push   $0x0
6163b8:	51                   	push   %ecx
6163b9:	ff 77 1c             	push   0x1c(%edi)
6163bc:	8b 02                	mov    (%edx),%eax
6163be:	8b ca                	mov    %edx,%ecx
6163c0:	ff 75 bc             	push   -0x44(%ebp)
6163c3:	74 08                	je     0x6163cd
6163c5:	ff 90 8c 00 00 00    	call   *0x8c(%eax)
6163cb:	eb 06                	jmp    0x6163d3
6163cd:	ff 90 88 00 00 00    	call   *0x88(%eax)
6163d3:	8b 45 c0             	mov    -0x40(%ebp),%eax
6163d6:	01 47 1c             	add    %eax,0x1c(%edi)
6163d9:	29 47 20             	sub    %eax,0x20(%edi)
6163dc:	2b f0                	sub    %eax,%esi
6163de:	8b 45 c8             	mov    -0x38(%ebp),%eax
6163e1:	6a 00                	push   $0x0
6163e3:	59                   	pop    %ecx
6163e4:	1b c1                	sbb    %ecx,%eax
6163e6:	29 33                	sub    %esi,(%ebx)
6163e8:	19 43 04             	sbb    %eax,0x4(%ebx)
6163eb:	33 c0                	xor    %eax,%eax
6163ed:	eb 29                	jmp    0x616418
6163ef:	57                   	push   %edi
6163f0:	8d 4d cc             	lea    -0x34(%ebp),%ecx
6163f3:	e8 31 f7 ff ff       	call   0x615b29
6163f8:	8b 55 c4             	mov    -0x3c(%ebp),%edx
6163fb:	8d 4d cc             	lea    -0x34(%ebp),%ecx
6163fe:	6a 00                	push   $0x0
616400:	56                   	push   %esi
616401:	53                   	push   %ebx
616402:	52                   	push   %edx
616403:	e8 28 00 00 00       	call   0x616430
616408:	ff 73 04             	push   0x4(%ebx)
61640b:	8b 17                	mov    (%edi),%edx
61640d:	8b cf                	mov    %edi,%ecx
61640f:	ff 33                	push   (%ebx)
616411:	8b f0                	mov    %eax,%esi
616413:	ff 52 54             	call   *0x54(%edx)
616416:	8b c6                	mov    %esi,%eax
616418:	8b 4d fc             	mov    -0x4(%ebp),%ecx