85506d:	cc                   	int3
85506e:	cc                   	int3
85506f:	cc                   	int3
855070:	cc                   	int3
855071:	cc                   	int3
855072:	cc                   	int3
855073:	cc                   	int3
855074:	cc                   	int3
855075:	cc                   	int3
855076:	cc                   	int3
855077:	55                   	push   %ebp
855078:	8b ec                	mov    %esp,%ebp
85507a:	51                   	push   %ecx
85507b:	57                   	push   %edi
85507c:	8b f9                	mov    %ecx,%edi
85507e:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
855082:	75 04                	jne    0x855088
855084:	33 c0                	xor    %eax,%eax
855086:	eb 44                	jmp    0x8550cc
855088:	53                   	push   %ebx
855089:	56                   	push   %esi
85508a:	ff 75 08             	push   0x8(%ebp)
85508d:	e8 c3 54 bc ff       	call   0x41a555
855092:	33 d2                	xor    %edx,%edx
855094:	89 45 fc             	mov    %eax,-0x4(%ebp)
855097:	f7 77 08             	divl   0x8(%edi)
85509a:	8b 4f 04             	mov    0x4(%edi),%ecx
85509d:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
8550a0:	8b 33                	mov    (%ebx),%esi
8550a2:	85 f6                	test   %esi,%esi
8550a4:	74 22                	je     0x8550c8
8550a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
8550a9:	39 46 0c             	cmp    %eax,0xc(%esi)
8550ac:	75 11                	jne    0x8550bf
8550ae:	8d 45 08             	lea    0x8(%ebp),%eax
8550b1:	50                   	push   %eax
8550b2:	56                   	push   %esi
8550b3:	e8 db ad bb ff       	call   0x40fe93
8550b8:	85 c0                	test   %eax,%eax
8550ba:	75 17                	jne    0x8550d3
8550bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
8550bf:	8d 5e 08             	lea    0x8(%esi),%ebx
8550c2:	8b 33                	mov    (%ebx),%esi
8550c4:	85 f6                	test   %esi,%esi
8550c6:	75 e1                	jne    0x8550a9
8550c8:	33 c0                	xor    %eax,%eax
8550ca:	5e                   	pop    %esi
8550cb:	5b                   	pop    %ebx
8550cc:	5f                   	pop    %edi
8550cd:	8b e5                	mov    %ebp,%esp
8550cf:	5d                   	pop    %ebp
8550d0:	c2 04 00             	ret    $0x4
8550d3:	8b 46 08             	mov    0x8(%esi),%eax
8550d6:	8b cf                	mov    %edi,%ecx
8550d8:	56                   	push   %esi
8550d9:	89 03                	mov    %eax,(%ebx)
8550db:	e8 2e 08 be ff       	call   0x43590e
8550e0:	33 c0                	xor    %eax,%eax
8550e2:	40                   	inc    %eax
8550e3:	eb e5                	jmp    0x8550ca
8550e5:	cc                   	int3
8550e6:	cc                   	int3
8550e7:	cc                   	int3
8550e8:	cc                   	int3
8550e9:	cc                   	int3
8550ea:	cc                   	int3
8550eb:	cc                   	int3
8550ec:	cc                   	int3
8550ed:	cc                   	int3
8550ee:	cc                   	int3
8550ef:	cc                   	int3
8550f0:	cc                   	int3
8550f1:	cc                   	int3
8550f2:	cc                   	int3
8550f3:	cc                   	int3
8550f4:	cc                   	int3
8550f5:	cc                   	int3
8550f6:	cc                   	int3
8550f7:	cc                   	int3
8550f8:	cc                   	int3
8550f9:	cc                   	int3
8550fa:	cc                   	int3
8550fb:	cc                   	int3
8550fc:	cc                   	int3
8550fd:	cc                   	int3
8550fe:	cc                   	int3
8550ff:	cc                   	int3
855100:	55                   	push   %ebp
855101:	8b ec                	mov    %esp,%ebp
855103:	51                   	push   %ecx
855104:	57                   	push   %edi
855105:	8b f9                	mov    %ecx,%edi
855107:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
85510b:	75 04                	jne    0x855111
85510d:	33 c0                	xor    %eax,%eax
85510f:	eb 44                	jmp    0x855155
855111:	53                   	push   %ebx
855112:	56                   	push   %esi
855113:	ff 75 08             	push   0x8(%ebp)
855116:	e8 3e 5d be ff       	call   0x43ae59
85511b:	33 d2                	xor    %edx,%edx
85511d:	89 45 fc             	mov    %eax,-0x4(%ebp)
855120:	f7 77 08             	divl   0x8(%edi)
855123:	8b 4f 04             	mov    0x4(%edi),%ecx
855126:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
855129:	8b 33                	mov    (%ebx),%esi
85512b:	85 f6                	test   %esi,%esi
85512d:	74 22                	je     0x855151
85512f:	8b 45 fc             	mov    -0x4(%ebp),%eax
855132:	39 46 0c             	cmp    %eax,0xc(%esi)
855135:	75 11                	jne    0x855148
855137:	8d 45 08             	lea    0x8(%ebp),%eax
85513a:	50                   	push   %eax
85513b:	56                   	push   %esi
85513c:	e8 17 41 bd ff       	call   0x429258
855141:	85 c0                	test   %eax,%eax
855143:	75 17                	jne    0x85515c
855145:	8b 45 fc             	mov    -0x4(%ebp),%eax
855148:	8d 5e 08             	lea    0x8(%esi),%ebx
85514b:	8b 33                	mov    (%ebx),%esi
85514d:	85 f6                	test   %esi,%esi
85514f:	75 e1                	jne    0x855132
855151:	33 c0                	xor    %eax,%eax
855153:	5e                   	pop    %esi
855154:	5b                   	pop    %ebx
855155:	5f                   	pop    %edi
855156:	8b e5                	mov    %ebp,%esp
855158:	5d                   	pop    %ebp
855159:	c2 04 00             	ret    $0x4
85515c:	8b 46 08             	mov    0x8(%esi),%eax
85515f:	8b cf                	mov    %edi,%ecx
855161:	56                   	push   %esi
855162:	89 03                	mov    %eax,(%ebx)
855164:	e8 ce 89 bd ff       	call   0x42db37
855169:	33 c0                	xor    %eax,%eax
85516b:	40                   	inc    %eax
85516c:	eb e5                	jmp    0x855153
85516e:	cc                   	int3
85516f:	cc                   	int3
855170:	cc                   	int3
855171:	cc                   	int3
855172:	cc                   	int3
855173:	cc                   	int3
855174:	cc                   	int3
855175:	cc                   	int3
855176:	cc                   	int3
855177:	cc                   	int3
855178:	cc                   	int3
855179:	cc                   	int3
85517a:	cc                   	int3
85517b:	cc                   	int3
85517c:	cc                   	int3
85517d:	cc                   	int3
85517e:	cc                   	int3
85517f:	cc                   	int3
855180:	cc                   	int3
855181:	cc                   	int3
855182:	cc                   	int3
855183:	cc                   	int3
855184:	cc                   	int3
855185:	cc                   	int3
855186:	cc                   	int3
855187:	cc                   	int3
855188:	cc                   	int3
855189:	55                   	push   %ebp
85518a:	8b ec                	mov    %esp,%ebp
85518c:	51                   	push   %ecx
85518d:	57                   	push   %edi
85518e:	8b f9                	mov    %ecx,%edi
855190:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
855194:	75 04                	jne    0x85519a
855196:	33 c0                	xor    %eax,%eax
855198:	eb 44                	jmp    0x8551de
85519a:	53                   	push   %ebx
85519b:	56                   	push   %esi
85519c:	ff 75 08             	push   0x8(%ebp)
85519f:	e8 b5 5c be ff       	call   0x43ae59
8551a4:	33 d2                	xor    %edx,%edx
8551a6:	89 45 fc             	mov    %eax,-0x4(%ebp)
8551a9:	f7 77 08             	divl   0x8(%edi)
8551ac:	8b 4f 04             	mov    0x4(%edi),%ecx
8551af:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
8551b2:	8b 33                	mov    (%ebx),%esi
8551b4:	85 f6                	test   %esi,%esi
8551b6:	74 22                	je     0x8551da
8551b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
8551bb:	39 46 0c             	cmp    %eax,0xc(%esi)
8551be:	75 11                	jne    0x8551d1
8551c0:	8d 45 08             	lea    0x8(%ebp),%eax
8551c3:	50                   	push   %eax
8551c4:	56                   	push   %esi
8551c5:	e8 8e 40 bd ff       	call   0x429258
8551ca:	85 c0                	test   %eax,%eax
8551cc:	75 17                	jne    0x8551e5
8551ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
8551d1:	8d 5e 08             	lea    0x8(%esi),%ebx
8551d4:	8b 33                	mov    (%ebx),%esi
8551d6:	85 f6                	test   %esi,%esi
8551d8:	75 e1                	jne    0x8551bb
8551da:	33 c0                	xor    %eax,%eax
8551dc:	5e                   	pop    %esi
8551dd:	5b                   	pop    %ebx
8551de:	5f                   	pop    %edi
8551df:	8b e5                	mov    %ebp,%esp
8551e1:	5d                   	pop    %ebp
8551e2:	c2 04 00             	ret    $0x4
8551e5:	8b 46 08             	mov    0x8(%esi),%eax
8551e8:	8b cf                	mov    %edi,%ecx
8551ea:	56                   	push   %esi
8551eb:	89 03                	mov    %eax,(%ebx)
8551ed:	e8 d0 e6 bb ff       	call   0x4138c2
8551f2:	33 c0                	xor    %eax,%eax
8551f4:	40                   	inc    %eax
8551f5:	eb e5                	jmp    0x8551dc
8551f7:	cc                   	int3
8551f8:	cc                   	int3
8551f9:	cc                   	int3
8551fa:	cc                   	int3
8551fb:	cc                   	int3
8551fc:	cc                   	int3
8551fd:	cc                   	int3
8551fe:	cc                   	int3
8551ff:	cc                   	int3
855200:	cc                   	int3
855201:	cc                   	int3
855202:	cc                   	int3
855203:	cc                   	int3
855204:	cc                   	int3
855205:	cc                   	int3
855206:	cc                   	int3
855207:	cc                   	int3
855208:	cc                   	int3
855209:	cc                   	int3
85520a:	cc                   	int3
85520b:	cc                   	int3
85520c:	cc                   	int3
85520d:	cc                   	int3
85520e:	cc                   	int3
85520f:	cc                   	int3
855210:	cc                   	int3
855211:	cc                   	int3
855212:	6a 28                	push   $0x28
855214:	b8 f9 bc b9 00       	mov    $0xb9bcf9,%eax
855219:	e8 6d 50 bb ff       	call   0x40a28b
85521e:	8b d9                	mov    %ecx,%ebx
855220:	89 5d cc             	mov    %ebx,-0x34(%ebp)
855223:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
855227:	8d 43 20             	lea    0x20(%ebx),%eax
85522a:	8b c8                	mov    %eax,%ecx
85522c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
85522f:	e8 62 9a bb ff       	call   0x40ec96
855234:	f6 83 b4 00 00 00 10 	testb  $0x10,0xb4(%ebx)
85523b:	c7 83 c4 00 00 00 01 	movl   $0x1,0xc4(%ebx)
855242:	00 00 00
855245:	0f 84 a0 01 00 00    	je     0x8553eb
85524b:	8b 43 10             	mov    0x10(%ebx),%eax
85524e:	f7 d8                	neg    %eax
855250:	1b c0                	sbb    %eax,%eax
855252:	89 45 dc             	mov    %eax,-0x24(%ebp)
855255:	0f 84 90 01 00 00    	je     0x8553eb
85525b:	83 c3 04             	add    $0x4,%ebx
85525e:	89 5d d0             	mov    %ebx,-0x30(%ebp)
855261:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
855265:	e8 ab 13 be ff       	call   0x436615
85526a:	50                   	push   %eax
85526b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
85526e:	e8 a1 49 bb ff       	call   0x409c14
855273:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
855277:	e8 99 13 be ff       	call   0x436615
85527c:	50                   	push   %eax
85527d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
855280:	e8 8f 49 bb ff       	call   0x409c14
855285:	8d 45 e0             	lea    -0x20(%ebp),%eax
855288:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
85528c:	50                   	push   %eax
85528d:	8d 45 ec             	lea    -0x14(%ebp),%eax
855290:	8b cb                	mov    %ebx,%ecx
855292:	50                   	push   %eax
855293:	8d 45 dc             	lea    -0x24(%ebp),%eax
855296:	50                   	push   %eax
855297:	e8 f7 3b bd ff       	call   0x428e93
85529c:	8b 75 ec             	mov    -0x14(%ebp),%esi
85529f:	68 18 e2 c3 00       	push   $0xc3e218
8552a4:	56                   	push   %esi
8552a5:	e8 db 62 bd ff       	call   0x42b585
8552aa:	59                   	pop    %ecx
8552ab:	59                   	pop    %ecx
8552ac:	85 c0                	test   %eax,%eax
8552ae:	74 2f                	je     0x8552df
8552b0:	2b c6                	sub    %esi,%eax
8552b2:	d1 f8                	sar    $1,%eax
8552b4:	83 f8 ff             	cmp    $0xffffffff,%eax
8552b7:	74 26                	je     0x8552df
8552b9:	e8 71 90 bd ff       	call   0x42e32f
8552be:	6a 01                	push   $0x1
8552c0:	56                   	push   %esi
8552c1:	8b 58 04             	mov    0x4(%eax),%ebx
8552c4:	8b 03                	mov    (%ebx),%eax
8552c6:	8b b8 a0 00 00 00    	mov    0xa0(%eax),%edi
8552cc:	8b cf                	mov    %edi,%ecx
8552ce:	e8 92 73 bd ff       	call   0x42c665
8552d3:	8b cb                	mov    %ebx,%ecx
8552d5:	ff d7                	call   *%edi
8552d7:	89 45 f0             	mov    %eax,-0x10(%ebp)
8552da:	e9 cd 00 00 00       	jmp    0x8553ac
8552df:	e8 4b 90 bd ff       	call   0x42e32f
8552e4:	8b 58 04             	mov    0x4(%eax),%ebx
8552e7:	85 db                	test   %ebx,%ebx
8552e9:	0f 84 bd 00 00 00    	je     0x8553ac
8552ef:	8b 5b 5c             	mov    0x5c(%ebx),%ebx
8552f2:	85 db                	test   %ebx,%ebx
8552f4:	0f 84 b2 00 00 00    	je     0x8553ac
8552fa:	8b 03                	mov    (%ebx),%eax
8552fc:	56                   	push   %esi
8552fd:	8b 78 30             	mov    0x30(%eax),%edi
855300:	8b cf                	mov    %edi,%ecx
855302:	e8 5e 73 bd ff       	call   0x42c665
855307:	8b cb                	mov    %ebx,%ecx
855309:	ff d7                	call   *%edi
85530b:	8b d8                	mov    %eax,%ebx
85530d:	85 db                	test   %ebx,%ebx
85530f:	0f 84 97 00 00 00    	je     0x8553ac
855315:	8b 03                	mov    (%ebx),%eax
855317:	6a 01                	push   $0x1
855319:	6a 00                	push   $0x0
85531b:	6a 00                	push   $0x0
85531d:	8b b8 80 00 00 00    	mov    0x80(%eax),%edi
855323:	8b cf                	mov    %edi,%ecx
855325:	e8 3b 73 bd ff       	call   0x42c665
85532a:	8b cb                	mov    %ebx,%ecx
85532c:	ff d7                	call   *%edi
85532e:	89 45 f0             	mov    %eax,-0x10(%ebp)
855331:	85 c0                	test   %eax,%eax
855333:	74 77                	je     0x8553ac
855335:	8d 46 f0             	lea    -0x10(%esi),%eax
855338:	50                   	push   %eax
855339:	e8 f0 71 be ff       	call   0x43c52e
85533e:	8d 78 10             	lea    0x10(%eax),%edi
855341:	89 7d e4             	mov    %edi,-0x1c(%ebp)
855344:	6a 2e                	push   $0x2e
855346:	56                   	push   %esi
855347:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
85534b:	e8 b1 63 bd ff       	call   0x42b701
855350:	83 c4 0c             	add    $0xc,%esp
855353:	85 c0                	test   %eax,%eax
855355:	74 34                	je     0x85538b
855357:	2b c6                	sub    %esi,%eax
855359:	d1 f8                	sar    $1,%eax
85535b:	85 c0                	test   %eax,%eax
85535d:	7e 2c                	jle    0x85538b