8e2131:	cc                   	int3
8e2132:	33 c0                	xor    %eax,%eax
8e2134:	40                   	inc    %eax
8e2135:	c3                   	ret
8e2136:	55                   	push   %ebp
8e2137:	8b ec                	mov    %esp,%ebp
8e2139:	51                   	push   %ecx
8e213a:	51                   	push   %ecx
8e213b:	53                   	push   %ebx
8e213c:	56                   	push   %esi
8e213d:	57                   	push   %edi
8e213e:	8b 7d 08             	mov    0x8(%ebp),%edi
8e2141:	85 ff                	test   %edi,%edi
8e2143:	75 05                	jne    0x8e214a
8e2145:	6a 14                	push   $0x14
8e2147:	5b                   	pop    %ebx
8e2148:	eb 09                	jmp    0x8e2153
8e214a:	8b cf                	mov    %edi,%ecx
8e214c:	e8 1e ec b3 ff       	call   0x420d6f
8e2151:	8b d8                	mov    %eax,%ebx
8e2153:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8e2156:	6a ff                	push   $0xffffffff
8e2158:	53                   	push   %ebx
8e2159:	e8 8d 14 b5 ff       	call   0x4335eb
8e215e:	85 ff                	test   %edi,%edi
8e2160:	75 10                	jne    0x8e2172
8e2162:	6a 0f                	push   $0xf
8e2164:	ff 15 98 31 d8 00    	call   *0xd83198
8e216a:	50                   	push   %eax
8e216b:	e8 9f 16 b2 ff       	call   0x40380f
8e2170:	8b f8                	mov    %eax,%edi
8e2172:	33 f6                	xor    %esi,%esi
8e2174:	89 75 f8             	mov    %esi,-0x8(%ebp)
8e2177:	85 db                	test   %ebx,%ebx
8e2179:	7e 3d                	jle    0x8e21b8
8e217b:	8d 45 fc             	lea    -0x4(%ebp),%eax
8e217e:	50                   	push   %eax
8e217f:	6a 01                	push   $0x1
8e2181:	56                   	push   %esi
8e2182:	ff 77 04             	push   0x4(%edi)
8e2185:	ff 15 5c 33 d8 00    	call   *0xd8335c
8e218b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8e218e:	56                   	push   %esi
8e218f:	e8 d9 12 b2 ff       	call   0x40346d
8e2194:	0f b6 75 fe          	movzbl -0x2(%ebp),%esi
8e2198:	8b 4d fc             	mov    -0x4(%ebp),%ecx
8e219b:	c1 e6 08             	shl    $0x8,%esi
8e219e:	0f b6 d5             	movzbl %ch,%edx
8e21a1:	0b f2                	or     %edx,%esi
8e21a3:	0f b6 c9             	movzbl %cl,%ecx
8e21a6:	c1 e6 08             	shl    $0x8,%esi
8e21a9:	0b f1                	or     %ecx,%esi
8e21ab:	89 30                	mov    %esi,(%eax)
8e21ad:	8b 75 f8             	mov    -0x8(%ebp),%esi
8e21b0:	46                   	inc    %esi
8e21b1:	89 75 f8             	mov    %esi,-0x8(%ebp)
8e21b4:	3b f3                	cmp    %ebx,%esi
8e21b6:	7c c3                	jl     0x8e217b
8e21b8:	5f                   	pop    %edi
8e21b9:	5e                   	pop    %esi
8e21ba:	8b c3                	mov    %ebx,%eax
8e21bc:	5b                   	pop    %ebx
8e21bd:	8b e5                	mov    %ebp,%esp
8e21bf:	5d                   	pop    %ebp
8e21c0:	c2 08 00             	ret    $0x8
8e21c3:	cc                   	int3
8e21c4:	cc                   	int3
8e21c5:	cc                   	int3
8e21c6:	cc                   	int3
8e21c7:	cc                   	int3
8e21c8:	cc                   	int3
8e21c9:	cc                   	int3
8e21ca:	cc                   	int3
8e21cb:	cc                   	int3
8e21cc:	cc                   	int3
8e21cd:	cc                   	int3
8e21ce:	cc                   	int3
8e21cf:	cc                   	int3
8e21d0:	cc                   	int3
8e21d1:	cc                   	int3
8e21d2:	cc                   	int3
8e21d3:	cc                   	int3
8e21d4:	cc                   	int3
8e21d5:	cc                   	int3
8e21d6:	cc                   	int3
8e21d7:	cc                   	int3
8e21d8:	cc                   	int3
8e21d9:	cc                   	int3
8e21da:	cc                   	int3
8e21db:	cc                   	int3
8e21dc:	cc                   	int3
8e21dd:	cc                   	int3
8e21de:	cc                   	int3
8e21df:	cc                   	int3
8e21e0:	cc                   	int3
8e21e1:	cc                   	int3
8e21e2:	cc                   	int3
8e21e3:	cc                   	int3
8e21e4:	cc                   	int3
8e21e5:	cc                   	int3
8e21e6:	55                   	push   %ebp
8e21e7:	8b ec                	mov    %esp,%ebp
8e21e9:	56                   	push   %esi
8e21ea:	8b f1                	mov    %ecx,%esi
8e21ec:	57                   	push   %edi
8e21ed:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
8e21f1:	74 0d                	je     0x8e2200
8e21f3:	ff 76 04             	push   0x4(%esi)
8e21f6:	e8 17 c4 b5 ff       	call   0x43e612
8e21fb:	83 66 04 00          	andl   $0x0,0x4(%esi)
8e21ff:	59                   	pop    %ecx
8e2200:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
8e2204:	8b 7d 08             	mov    0x8(%ebp),%edi
8e2207:	74 31                	je     0x8e223a
8e2209:	33 c9                	xor    %ecx,%ecx
8e220b:	8b c7                	mov    %edi,%eax
8e220d:	6a 04                	push   $0x4
8e220f:	5a                   	pop    %edx
8e2210:	f7 e2                	mul    %edx
8e2212:	0f 90 c1             	seto   %cl
8e2215:	f7 d9                	neg    %ecx
8e2217:	0b c8                	or     %eax,%ecx
8e2219:	51                   	push   %ecx
8e221a:	e8 78 35 b5 ff       	call   0x435797
8e221f:	59                   	pop    %ecx
8e2220:	8b c8                	mov    %eax,%ecx
8e2222:	89 4e 04             	mov    %ecx,0x4(%esi)
8e2225:	85 c9                	test   %ecx,%ecx
8e2227:	74 1a                	je     0x8e2243
8e2229:	8b c7                	mov    %edi,%eax
8e222b:	c1 e0 02             	shl    $0x2,%eax
8e222e:	50                   	push   %eax
8e222f:	6a 00                	push   $0x0
8e2231:	51                   	push   %ecx
8e2232:	e8 81 25 b3 ff       	call   0x4147b8
8e2237:	83 c4 0c             	add    $0xc,%esp
8e223a:	89 7e 08             	mov    %edi,0x8(%esi)
8e223d:	5f                   	pop    %edi
8e223e:	5e                   	pop    %esi
8e223f:	5d                   	pop    %ebp
8e2240:	c2 08 00             	ret    $0x8
8e2243:	e8 1e fd b4 ff       	call   0x431f66
8e2248:	cc                   	int3
8e2249:	cc                   	int3
8e224a:	cc                   	int3
8e224b:	cc                   	int3
8e224c:	cc                   	int3
8e224d:	cc                   	int3
8e224e:	cc                   	int3
8e224f:	cc                   	int3
8e2250:	cc                   	int3
8e2251:	cc                   	int3
8e2252:	cc                   	int3
8e2253:	cc                   	int3
8e2254:	cc                   	int3
8e2255:	cc                   	int3
8e2256:	cc                   	int3
8e2257:	cc                   	int3
8e2258:	cc                   	int3
8e2259:	cc                   	int3
8e225a:	cc                   	int3
8e225b:	cc                   	int3
8e225c:	cc                   	int3
8e225d:	cc                   	int3
8e225e:	cc                   	int3
8e225f:	cc                   	int3
8e2260:	cc                   	int3
8e2261:	55                   	push   %ebp
8e2262:	8b ec                	mov    %esp,%ebp
8e2264:	56                   	push   %esi
8e2265:	8b f1                	mov    %ecx,%esi
8e2267:	57                   	push   %edi
8e2268:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
8e226c:	74 0d                	je     0x8e227b
8e226e:	ff 76 04             	push   0x4(%esi)
8e2271:	e8 9c c3 b5 ff       	call   0x43e612
8e2276:	83 66 04 00          	andl   $0x0,0x4(%esi)
8e227a:	59                   	pop    %ecx
8e227b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
8e227f:	8b 7d 08             	mov    0x8(%ebp),%edi
8e2282:	74 31                	je     0x8e22b5
8e2284:	33 c9                	xor    %ecx,%ecx
8e2286:	8b c7                	mov    %edi,%eax
8e2288:	6a 04                	push   $0x4
8e228a:	5a                   	pop    %edx
8e228b:	f7 e2                	mul    %edx
8e228d:	0f 90 c1             	seto   %cl
8e2290:	f7 d9                	neg    %ecx
8e2292:	0b c8                	or     %eax,%ecx
8e2294:	51                   	push   %ecx
8e2295:	e8 fd 34 b5 ff       	call   0x435797
8e229a:	59                   	pop    %ecx
8e229b:	8b c8                	mov    %eax,%ecx
8e229d:	89 4e 04             	mov    %ecx,0x4(%esi)
8e22a0:	85 c9                	test   %ecx,%ecx
8e22a2:	74 1a                	je     0x8e22be
8e22a4:	8b c7                	mov    %edi,%eax
8e22a6:	c1 e0 02             	shl    $0x2,%eax
8e22a9:	50                   	push   %eax
8e22aa:	6a 00                	push   $0x0
8e22ac:	51                   	push   %ecx
8e22ad:	e8 06 25 b3 ff       	call   0x4147b8
8e22b2:	83 c4 0c             	add    $0xc,%esp
8e22b5:	89 7e 08             	mov    %edi,0x8(%esi)
8e22b8:	5f                   	pop    %edi
8e22b9:	5e                   	pop    %esi
8e22ba:	5d                   	pop    %ebp
8e22bb:	c2 08 00             	ret    $0x8
8e22be:	e8 a3 fc b4 ff       	call   0x431f66
8e22c3:	cc                   	int3
8e22c4:	cc                   	int3
8e22c5:	cc                   	int3
8e22c6:	cc                   	int3
8e22c7:	cc                   	int3
8e22c8:	cc                   	int3
8e22c9:	cc                   	int3
8e22ca:	cc                   	int3
8e22cb:	cc                   	int3
8e22cc:	cc                   	int3
8e22cd:	cc                   	int3
8e22ce:	cc                   	int3
8e22cf:	cc                   	int3
8e22d0:	cc                   	int3
8e22d1:	cc                   	int3
8e22d2:	cc                   	int3
8e22d3:	cc                   	int3
8e22d4:	cc                   	int3
8e22d5:	cc                   	int3
8e22d6:	cc                   	int3
8e22d7:	cc                   	int3
8e22d8:	cc                   	int3
8e22d9:	cc                   	int3
8e22da:	cc                   	int3
8e22db:	cc                   	int3
8e22dc:	33 c0                	xor    %eax,%eax
8e22de:	c3                   	ret
8e22df:	33 c0                	xor    %eax,%eax
8e22e1:	c3                   	ret
8e22e2:	56                   	push   %esi
8e22e3:	57                   	push   %edi
8e22e4:	8b 79 20             	mov    0x20(%ecx),%edi
8e22e7:	57                   	push   %edi
8e22e8:	e8 5e 45 b4 ff       	call   0x42684b
8e22ed:	33 f6                	xor    %esi,%esi
8e22ef:	59                   	pop    %ecx
8e22f0:	85 c0                	test   %eax,%eax
8e22f2:	75 11                	jne    0x8e2305
8e22f4:	56                   	push   %esi
8e22f5:	57                   	push   %edi
8e22f6:	b9 44 ef d5 00       	mov    $0xd5ef44,%ecx
8e22fb:	e8 30 93 b3 ff       	call   0x41b630
8e2300:	85 c0                	test   %eax,%eax
8e2302:	75 01                	jne    0x8e2305
8e2304:	46                   	inc    %esi
8e2305:	5f                   	pop    %edi
8e2306:	8b c6                	mov    %esi,%eax
8e2308:	5e                   	pop    %esi
8e2309:	c3                   	ret
8e230a:	cc                   	int3
8e230b:	cc                   	int3
8e230c:	cc                   	int3
8e230d:	cc                   	int3
8e230e:	cc                   	int3
8e230f:	cc                   	int3
8e2310:	cc                   	int3
8e2311:	cc                   	int3
8e2312:	cc                   	int3
8e2313:	cc                   	int3
8e2314:	33 c0                	xor    %eax,%eax
8e2316:	39 41 0c             	cmp    %eax,0xc(%ecx)
8e2319:	0f 94 c0             	sete   %al
8e231c:	c3                   	ret
8e231d:	cc                   	int3
8e231e:	cc                   	int3
8e231f:	8b 41 48             	mov    0x48(%ecx),%eax
8e2322:	c3                   	ret
8e2323:	a1 0c fa d7 00       	mov    0xd7fa0c,%eax
8e2328:	c3                   	ret
8e2329:	55                   	push   %ebp
8e232a:	8b ec                	mov    %esp,%ebp
8e232c:	56                   	push   %esi
8e232d:	57                   	push   %edi
8e232e:	8b f9                	mov    %ecx,%edi
8e2330:	8b 07                	mov    (%edi),%eax
8e2332:	8b 70 38             	mov    0x38(%eax),%esi
8e2335:	8b ce                	mov    %esi,%ecx
8e2337:	e8 29 a3 b4 ff       	call   0x42c665
8e233c:	8b cf                	mov    %edi,%ecx
8e233e:	ff d6                	call   *%esi
8e2340:	85 c0                	test   %eax,%eax
8e2342:	74 38                	je     0x8e237c
8e2344:	8b 07                	mov    (%edi),%eax
8e2346:	8b 70 38             	mov    0x38(%eax),%esi
8e2349:	8b ce                	mov    %esi,%ecx
8e234b:	e8 15 a3 b4 ff       	call   0x42c665
8e2350:	8b cf                	mov    %edi,%ecx
8e2352:	ff d6                	call   *%esi
8e2354:	3b 45 08             	cmp    0x8(%ebp),%eax
8e2357:	74 1e                	je     0x8e2377
8e2359:	8b 07                	mov    (%edi),%eax
8e235b:	ff 75 08             	push   0x8(%ebp)
8e235e:	8b 70 38             	mov    0x38(%eax),%esi
8e2361:	8b ce                	mov    %esi,%ecx
8e2363:	e8 fd a2 b4 ff       	call   0x42c665
8e2368:	8b cf                	mov    %edi,%ecx
8e236a:	ff d6                	call   *%esi
8e236c:	50                   	push   %eax
8e236d:	ff 15 d4 3f d8 00    	call   *0xd83fd4
8e2373:	85 c0                	test   %eax,%eax
8e2375:	74 05                	je     0x8e237c
8e2377:	33 c0                	xor    %eax,%eax
8e2379:	40                   	inc    %eax
8e237a:	eb 02                	jmp    0x8e237e
8e237c:	33 c0                	xor    %eax,%eax
8e237e:	5f                   	pop    %edi
8e237f:	5e                   	pop    %esi
8e2380:	5d                   	pop    %ebp
8e2381:	c2 04 00             	ret    $0x4
8e2384:	cc                   	int3
8e2385:	cc                   	int3
8e2386:	cc                   	int3
8e2387:	cc                   	int3
8e2388:	cc                   	int3
8e2389:	cc                   	int3
8e238a:	cc                   	int3
8e238b:	cc                   	int3
8e238c:	cc                   	int3
8e238d:	cc                   	int3
8e238e:	cc                   	int3
8e238f:	cc                   	int3
8e2390:	cc                   	int3
8e2391:	cc                   	int3
8e2392:	cc                   	int3
8e2393:	cc                   	int3
8e2394:	cc                   	int3
8e2395:	cc                   	int3
8e2396:	cc                   	int3
8e2397:	cc                   	int3
8e2398:	cc                   	int3
8e2399:	cc                   	int3
8e239a:	33 c0                	xor    %eax,%eax
8e239c:	c3                   	ret
8e239d:	33 c0                	xor    %eax,%eax
8e239f:	c3                   	ret
8e23a0:	53                   	push   %ebx
8e23a1:	8b d9                	mov    %ecx,%ebx
8e23a3:	56                   	push   %esi
8e23a4:	57                   	push   %edi
8e23a5:	8b 03                	mov    (%ebx),%eax
8e23a7:	8b 70 38             	mov    0x38(%eax),%esi