413ed2:	50                   	push   %eax
413ed3:	68 19 00 02 00       	push   $0x20019
413ed8:	53                   	push   %ebx
413ed9:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
413edf:	68 00 00 00 80       	push   $0x80000000
413ee4:	ff 15 44 a2 43 00    	call   *0x43a244
413eea:	8b f0                	mov    %eax,%esi
413eec:	85 f6                	test   %esi,%esi
413eee:	74 64                	je     0x413f54
413ef0:	7e 09                	jle    0x413efb
413ef2:	0f b7 f6             	movzwl %si,%esi
413ef5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
413efb:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
413f01:	85 c0                	test   %eax,%eax
413f03:	74 22                	je     0x413f27
413f05:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
413f0b:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
413f11:	a1 38 a2 43 00       	mov    0x43a238,%eax
413f16:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
413f1c:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
413f22:	e8 3d 77 00 00       	call   0x41b664
413f27:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413f2d:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413f34:	11 40 00
413f37:	85 c0                	test   %eax,%eax
413f39:	74 12                	je     0x413f4d
413f3b:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413f41:	3b c1                	cmp    %ecx,%eax
413f43:	74 08                	je     0x413f4d
413f45:	50                   	push   %eax
413f46:	ff 15 14 a4 43 00    	call   *0x43a414
413f4c:	59                   	pop    %ecx
413f4d:	8b c6                	mov    %esi,%eax
413f4f:	e9 a0 00 00 00       	jmp    0x413ff4
413f54:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
413f5a:	85 c0                	test   %eax,%eax
413f5c:	74 22                	je     0x413f80
413f5e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
413f64:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
413f6a:	a1 38 a2 43 00       	mov    0x43a238,%eax
413f6f:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
413f75:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
413f7b:	e8 e4 76 00 00       	call   0x41b664
413f80:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413f86:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413f8d:	11 40 00
413f90:	85 c0                	test   %eax,%eax
413f92:	74 12                	je     0x413fa6
413f94:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413f9a:	3b c1                	cmp    %ecx,%eax
413f9c:	74 08                	je     0x413fa6
413f9e:	50                   	push   %eax
413f9f:	ff 15 14 a4 43 00    	call   *0x43a414
413fa5:	59                   	pop    %ecx
413fa6:	33 c0                	xor    %eax,%eax
413fa8:	eb 4a                	jmp    0x413ff4
413faa:	8b 4d 04             	mov    0x4(%ebp),%ecx
413fad:	ba ed 00 00 00       	mov    $0xed,%edx
413fb2:	68 90 56 40 00       	push   $0x405690
413fb7:	e8 56 b9 01 00       	call   0x42f912
413fbc:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
413fc2:	b8 c8 3f 41 00       	mov    $0x413fc8,%eax
413fc7:	c3                   	ret
413fc8:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
413fce:	c7 85 58 ff ff ff c4 	movl   $0x4011c4,-0xa8(%ebp)
413fd5:	11 40 00
413fd8:	85 c0                	test   %eax,%eax
413fda:	74 12                	je     0x413fee
413fdc:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
413fe2:	3b c1                	cmp    %ecx,%eax
413fe4:	74 08                	je     0x413fee
413fe6:	50                   	push   %eax
413fe7:	ff 15 14 a4 43 00    	call   *0x43a414
413fed:	59                   	pop    %ecx
413fee:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
413ff4:	e8 06 6e 00 00       	call   0x41adff
413ff9:	c2 08 00             	ret    $0x8
413ffc:	68 20 02 00 00       	push   $0x220
414001:	b8 72 e9 41 00       	mov    $0x41e972,%eax
414006:	e8 a2 6e 00 00       	call   0x41aead
41400b:	8b f1                	mov    %ecx,%esi
41400d:	89 b5 d8 fd ff ff    	mov    %esi,-0x228(%ebp)
414013:	8b 5d 0c             	mov    0xc(%ebp),%ebx
414016:	8b 7d 08             	mov    0x8(%ebp),%edi
414019:	6a 00                	push   $0x0
41401b:	ff 15 ac a0 43 00    	call   *0x43a0ac
414021:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
414027:	85 c0                	test   %eax,%eax
414029:	0f 84 19 df 00 00    	je     0x421f48
41402f:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414035:	c7 85 e0 fd ff ff 08 	movl   $0x208,-0x220(%ebp)
41403c:	02 00 00
41403f:	51                   	push   %ecx
414040:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
414046:	51                   	push   %ecx
414047:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
41404d:	51                   	push   %ecx
41404e:	6a 00                	push   $0x0
414050:	57                   	push   %edi
414051:	50                   	push   %eax
414052:	ff 15 3c a2 43 00    	call   *0x43a23c
414058:	8b f0                	mov    %eax,%esi
41405a:	b8 ea 00 00 00       	mov    $0xea,%eax
41405f:	85 f6                	test   %esi,%esi
414061:	0f 85 f1 de 00 00    	jne    0x421f58
414067:	83 bd dc fd ff ff 01 	cmpl   $0x1,-0x224(%ebp)
41406e:	0f 85 ed de 00 00    	jne    0x421f61
414074:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414078:	83 bd dc fd ff ff 02 	cmpl   $0x2,-0x224(%ebp)
41407f:	0f 84 f8 de 00 00    	je     0x421f7d
414085:	8b cb                	mov    %ebx,%ecx
414087:	3b f0                	cmp    %eax,%esi
414089:	0f 84 61 df 00 00    	je     0x421ff0
41408f:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
414095:	d1 ef                	shr    $1,%edi
414097:	57                   	push   %edi
414098:	e8 eb 01 00 00       	call   0x414288
41409d:	8b c8                	mov    %eax,%ecx
41409f:	8b c7                	mov    %edi,%eax
4140a1:	f7 d8                	neg    %eax
4140a3:	1b c0                	sbb    %eax,%eax
4140a5:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
4140aa:	05 57 00 07 80       	add    $0x80070057,%eax
4140af:	85 ff                	test   %edi,%edi
4140b1:	74 10                	je     0x4140c3
4140b3:	51                   	push   %ecx
4140b4:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4140ba:	8b d7                	mov    %edi,%edx
4140bc:	50                   	push   %eax
4140bd:	51                   	push   %ecx
4140be:	e8 6d 00 00 00       	call   0x414130
4140c3:	8b 4d 04             	mov    0x4(%ebp),%ecx
4140c6:	85 c0                	test   %eax,%eax
4140c8:	0f 88 5b df 00 00    	js     0x422029
4140ce:	85 f6                	test   %esi,%esi
4140d0:	0f 85 bc de 00 00    	jne    0x421f92
4140d6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4140da:	8b 95 e0 fd ff ff    	mov    -0x220(%ebp),%edx
4140e0:	d1 ea                	shr    $1,%edx
4140e2:	89 95 e0 fd ff ff    	mov    %edx,-0x220(%ebp)
4140e8:	8d 4a ff             	lea    -0x1(%edx),%ecx
4140eb:	f7 da                	neg    %edx
4140ed:	1b d2                	sbb    %edx,%edx
4140ef:	23 d1                	and    %ecx,%edx
4140f1:	8b cb                	mov    %ebx,%ecx
4140f3:	52                   	push   %edx
4140f4:	e8 0b 00 00 00       	call   0x414104
4140f9:	33 c0                	xor    %eax,%eax
4140fb:	40                   	inc    %eax
4140fc:	e8 fe 6c 00 00       	call   0x41adff
414101:	c2 08 00             	ret    $0x8
414104:	8b ff                	mov    %edi,%edi
414106:	55                   	push   %ebp
414107:	8b ec                	mov    %esp,%ebp
414109:	8b 41 08             	mov    0x8(%ecx),%eax
41410c:	8b 55 08             	mov    0x8(%ebp),%edx
41410f:	48                   	dec    %eax
414110:	3b d0                	cmp    %eax,%edx
414112:	0f 87 3c df 00 00    	ja     0x422054
414118:	8b 41 04             	mov    0x4(%ecx),%eax
41411b:	89 51 0c             	mov    %edx,0xc(%ecx)
41411e:	33 c9                	xor    %ecx,%ecx
414120:	66 89 0c 50          	mov    %cx,(%eax,%edx,2)
414124:	5d                   	pop    %ebp
414125:	c2 04 00             	ret    $0x4
414128:	cc                   	int3
414129:	cc                   	int3
41412a:	cc                   	int3
41412b:	cc                   	int3
41412c:	cc                   	int3
41412d:	cc                   	int3
41412e:	cc                   	int3
41412f:	cc                   	int3
414130:	8b ff                	mov    %edi,%edi
414132:	55                   	push   %ebp
414133:	8b ec                	mov    %esp,%ebp
414135:	53                   	push   %ebx
414136:	56                   	push   %esi
414137:	8b f2                	mov    %edx,%esi
414139:	33 db                	xor    %ebx,%ebx
41413b:	57                   	push   %edi
41413c:	85 f6                	test   %esi,%esi
41413e:	74 29                	je     0x414169
414140:	8b 7d 0c             	mov    0xc(%ebp),%edi
414143:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
414148:	2b f9                	sub    %ecx,%edi
41414a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
414150:	85 c0                	test   %eax,%eax
414152:	74 1f                	je     0x414173
414154:	0f b7 14 0f          	movzwl (%edi,%ecx,1),%edx
414158:	66 85 d2             	test   %dx,%dx
41415b:	74 16                	je     0x414173
41415d:	66 89 11             	mov    %dx,(%ecx)
414160:	48                   	dec    %eax
414161:	83 c1 02             	add    $0x2,%ecx
414164:	83 ee 01             	sub    $0x1,%esi
414167:	75 e7                	jne    0x414150
414169:	83 e9 02             	sub    $0x2,%ecx
41416c:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
414171:	eb 04                	jmp    0x414177
414173:	85 f6                	test   %esi,%esi
414175:	74 f2                	je     0x414169
414177:	33 c0                	xor    %eax,%eax
414179:	5f                   	pop    %edi
41417a:	66 89 01             	mov    %ax,(%ecx)
41417d:	8b c3                	mov    %ebx,%eax
41417f:	5e                   	pop    %esi
414180:	5b                   	pop    %ebx
414181:	5d                   	pop    %ebp
414182:	c2 0c 00             	ret    $0xc
414185:	8b ff                	mov    %edi,%edi
414187:	55                   	push   %ebp
414188:	8b ec                	mov    %esp,%ebp
41418a:	0f b6 41 0f          	movzbl 0xf(%ecx),%eax
41418e:	56                   	push   %esi
41418f:	57                   	push   %edi
414190:	50                   	push   %eax
414191:	0f b6 41 0e          	movzbl 0xe(%ecx),%eax
414195:	8b fa                	mov    %edx,%edi
414197:	50                   	push   %eax
414198:	0f b6 41 0d          	movzbl 0xd(%ecx),%eax
41419c:	50                   	push   %eax
41419d:	0f b6 41 0c          	movzbl 0xc(%ecx),%eax
4141a1:	50                   	push   %eax
4141a2:	0f b6 41 0b          	movzbl 0xb(%ecx),%eax
4141a6:	50                   	push   %eax
4141a7:	0f b6 41 0a          	movzbl 0xa(%ecx),%eax
4141ab:	8b 75 08             	mov    0x8(%ebp),%esi
4141ae:	50                   	push   %eax
4141af:	0f b6 41 09          	movzbl 0x9(%ecx),%eax
4141b3:	50                   	push   %eax
4141b4:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
4141b8:	50                   	push   %eax
4141b9:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
4141bd:	50                   	push   %eax
4141be:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4141c2:	50                   	push   %eax
4141c3:	ff 31                	push   (%ecx)
4141c5:	8d 46 25             	lea    0x25(%esi),%eax
4141c8:	8b cf                	mov    %edi,%ecx
4141ca:	68 f8 3f 40 00       	push   $0x403ff8
4141cf:	6a 25                	push   $0x25
4141d1:	50                   	push   %eax
4141d2:	e8 b1 00 00 00       	call   0x414288
4141d7:	8d 04 70             	lea    (%eax,%esi,2),%eax
4141da:	50                   	push   %eax
4141db:	e8 49 00 00 00       	call   0x414229
4141e0:	83 c4 34             	add    $0x34,%esp
4141e3:	8b cf                	mov    %edi,%ecx
4141e5:	e8 09 00 00 00       	call   0x4141f3
4141ea:	8b 47 04             	mov    0x4(%edi),%eax
4141ed:	5f                   	pop    %edi
4141ee:	5e                   	pop    %esi
4141ef:	5d                   	pop    %ebp
4141f0:	c2 04 00             	ret    $0x4
4141f3:	8b ff                	mov    %edi,%edi
4141f5:	55                   	push   %ebp
4141f6:	8b ec                	mov    %esp,%ebp
4141f8:	56                   	push   %esi
4141f9:	8b 71 04             	mov    0x4(%ecx),%esi
4141fc:	8b d6                	mov    %esi,%edx
4141fe:	57                   	push   %edi
4141ff:	8d 7a 02             	lea    0x2(%edx),%edi
414202:	66 8b 02             	mov    (%edx),%ax
414205:	83 c2 02             	add    $0x2,%edx
414208:	66 85 c0             	test   %ax,%ax
41420b:	75 f5                	jne    0x414202
41420d:	2b d7                	sub    %edi,%edx
41420f:	d1 fa                	sar    $1,%edx
414211:	3b 51 08             	cmp    0x8(%ecx),%edx
414214:	0f 83 52 de 00 00    	jae    0x42206c
41421a:	33 c0                	xor    %eax,%eax
41421c:	89 51 0c             	mov    %edx,0xc(%ecx)
41421f:	5f                   	pop    %edi
414220:	66 89 04 56          	mov    %ax,(%esi,%edx,2)
414224:	5e                   	pop    %esi
414225:	5d                   	pop    %ebp
414226:	c2 04 00             	ret    $0x4
414229:	8b ff                	mov    %edi,%edi
41422b:	55                   	push   %ebp
41422c:	8b ec                	mov    %esp,%ebp
41422e:	8b 45 0c             	mov    0xc(%ebp),%eax
414231:	56                   	push   %esi
414232:	33 f6                	xor    %esi,%esi
414234:	85 c0                	test   %eax,%eax
414236:	74 42                	je     0x41427a
414238:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41423d:	77 3b                	ja     0x41427a
41423f:	85 f6                	test   %esi,%esi
414241:	0f 88 3d de 00 00    	js     0x422084
414247:	53                   	push   %ebx
414248:	8b 5d 08             	mov    0x8(%ebp),%ebx
41424b:	33 f6                	xor    %esi,%esi
41424d:	57                   	push   %edi
41424e:	8d 78 ff             	lea    -0x1(%eax),%edi
414251:	8d 45 14             	lea    0x14(%ebp),%eax
414254:	50                   	push   %eax
414255:	ff 75 10             	push   0x10(%ebp)
414258:	57                   	push   %edi
414259:	53                   	push   %ebx
41425a:	ff 15 e8 a4 43 00    	call   *0x43a4e8
414260:	83 c4 10             	add    $0x10,%esp
414263:	85 c0                	test   %eax,%eax
414265:	78 1a                	js     0x414281
414267:	3b c7                	cmp    %edi,%eax
414269:	77 16                	ja     0x414281
41426b:	75 06                	jne    0x414273
41426d:	33 c0                	xor    %eax,%eax
41426f:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
414273:	5f                   	pop    %edi
414274:	5b                   	pop    %ebx
414275:	8b c6                	mov    %esi,%eax
414277:	5e                   	pop    %esi
414278:	5d                   	pop    %ebp
414279:	c3                   	ret
41427a:	be 57 00 07 80       	mov    $0x80070057,%esi
41427f:	eb be                	jmp    0x41423f
414281:	be 7a 00 07 80       	mov    $0x8007007a,%esi
414286:	eb e5                	jmp    0x41426d
414288:	8b ff                	mov    %edi,%edi
41428a:	55                   	push   %ebp
41428b:	8b ec                	mov    %esp,%ebp
41428d:	56                   	push   %esi
41428e:	8b f1                	mov    %ecx,%esi
414290:	8b 4d 08             	mov    0x8(%ebp),%ecx
414293:	3b 4e 08             	cmp    0x8(%esi),%ecx
414296:	77 08                	ja     0x4142a0
414298:	8b 46 04             	mov    0x4(%esi),%eax
41429b:	5e                   	pop    %esi
41429c:	5d                   	pop    %ebp
41429d:	c2 04 00             	ret    $0x4
4142a0:	8b 06                	mov    (%esi),%eax
4142a2:	57                   	push   %edi
4142a3:	51                   	push   %ecx
4142a4:	8b 38                	mov    (%eax),%edi
4142a6:	81 ff 10 51 41 00    	cmp    $0x415110,%edi
4142ac:	75 0a                	jne    0x4142b8
4142ae:	8b ce                	mov    %esi,%ecx
4142b0:	e8 5b 0e 00 00       	call   0x415110
4142b5:	5f                   	pop    %edi
4142b6:	eb e0                	jmp    0x414298
4142b8:	81 ff 50 49 41 00    	cmp    $0x414950,%edi
4142be:	0f 85 d5 dd 00 00    	jne    0x422099
4142c4:	8b ce                	mov    %esi,%ecx
4142c6:	e8 85 06 00 00       	call   0x414950
4142cb:	eb e8                	jmp    0x4142b5
4142cd:	8b ff                	mov    %edi,%edi
4142cf:	55                   	push   %ebp
4142d0:	8b ec                	mov    %esp,%ebp
4142d2:	51                   	push   %ecx