41be2e:	83 c4 1c             	add    $0x1c,%esp
41be31:	8b 00                	mov    (%eax),%eax
41be33:	3b 07                	cmp    (%edi),%eax
41be35:	0f 84 ab 00 00 00    	je     0x41bee6
41be3b:	89 07                	mov    %eax,(%edi)
41be3d:	e9 03 ff ff ff       	jmp    0x41bd45
41be42:	56                   	push   %esi
41be43:	8b cf                	mov    %edi,%ecx
41be45:	e8 bb ca ff ff       	call   0x418905
41be4a:	84 c0                	test   %al,%al
41be4c:	0f b6 db             	movzbl %bl,%ebx
41be4f:	6a 01                	push   $0x1
41be51:	58                   	pop    %eax
41be52:	0f 44 d8             	cmove  %eax,%ebx
41be55:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41be58:	33 f6                	xor    %esi,%esi
41be5a:	e9 e9 fe ff ff       	jmp    0x41bd48
41be5f:	8b 46 08             	mov    0x8(%esi),%eax
41be62:	d1 e8                	shr    $1,%eax
41be64:	22 c2                	and    %dl,%al
41be66:	6a 00                	push   $0x0
41be68:	0f b6 c0             	movzbl %al,%eax
41be6b:	50                   	push   %eax
41be6c:	56                   	push   %esi
41be6d:	8b cf                	mov    %edi,%ecx
41be6f:	e8 ca d1 ff ff       	call   0x41903e
41be74:	eb d4                	jmp    0x41be4a
41be76:	8b 4e 14             	mov    0x14(%esi),%ecx
41be79:	8b 57 40             	mov    0x40(%edi),%edx
41be7c:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
41be80:	8b 41 20             	mov    0x20(%ecx),%eax
41be83:	75 d3                	jne    0x41be58
41be85:	ff 34 c2             	push   (%edx,%eax,8)
41be88:	8b 41 08             	mov    0x8(%ecx),%eax
41be8b:	33 d2                	xor    %edx,%edx
41be8d:	d1 e8                	shr    $1,%eax
41be8f:	42                   	inc    %edx
41be90:	22 c2                	and    %dl,%al
41be92:	0f b6 c0             	movzbl %al,%eax
41be95:	50                   	push   %eax
41be96:	51                   	push   %ecx
41be97:	eb d4                	jmp    0x41be6d
41be99:	f7 47 60 20 20 00 00 	testl  $0x2020,0x60(%edi)
41bea0:	74 07                	je     0x41bea9
41bea2:	8b 47 4c             	mov    0x4c(%edi),%eax
41bea5:	3b 07                	cmp    (%edi),%eax
41bea7:	74 0d                	je     0x41beb6
41bea9:	80 7f 74 00          	cmpb   $0x0,0x74(%edi)
41bead:	74 0b                	je     0x41beba
41beaf:	8b 07                	mov    (%edi),%eax
41beb1:	3b 47 50             	cmp    0x50(%edi),%eax
41beb4:	74 04                	je     0x41beba
41beb6:	8a da                	mov    %dl,%bl
41beb8:	eb 9b                	jmp    0x41be55
41beba:	80 7f 64 00          	cmpb   $0x0,0x64(%edi)
41bebe:	74 0b                	je     0x41becb
41bec0:	8b cf                	mov    %edi,%ecx
41bec2:	e8 fd a9 ff ff       	call   0x4168c4
41bec7:	84 c0                	test   %al,%al
41bec9:	74 8d                	je     0x41be58
41becb:	57                   	push   %edi
41becc:	8d 4f 20             	lea    0x20(%edi),%ecx
41becf:	e8 51 37 ff ff       	call   0x40f625
41bed4:	33 c0                	xor    %eax,%eax
41bed6:	40                   	inc    %eax
41bed7:	88 47 64             	mov    %al,0x64(%edi)
41beda:	e9 79 ff ff ff       	jmp    0x41be58
41bedf:	33 d2                	xor    %edx,%edx
41bee1:	42                   	inc    %edx
41bee2:	8a da                	mov    %dl,%bl
41bee4:	eb 05                	jmp    0x41beeb
41bee6:	33 c0                	xor    %eax,%eax
41bee8:	8d 58 01             	lea    0x1(%eax),%ebx
41beeb:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41beee:	85 c9                	test   %ecx,%ecx
41bef0:	7e 06                	jle    0x41bef8
41bef2:	8d 41 01             	lea    0x1(%ecx),%eax
41bef5:	89 47 7c             	mov    %eax,0x7c(%edi)
41bef8:	84 db                	test   %bl,%bl
41befa:	0f 94 c0             	sete   %al
41befd:	e8 11 3b 02 00       	call   0x43fa13
41bf02:	c2 04 00             	ret    $0x4
41bf05:	6a 0d                	push   $0xd
41bf07:	eb 02                	jmp    0x41bf0b
41bf09:	6a 0c                	push   $0xc
41bf0b:	e8 30 9e 00 00       	call   0x425d40
41bf10:	66 90                	xchg   %ax,%ax
41bf12:	48                   	dec    %eax
41bf13:	bd 41 00 2a bc       	mov    $0xbc2a0041,%ebp
41bf18:	41                   	inc    %ecx
41bf19:	00 52 bc             	add    %dl,-0x44(%edx)
41bf1c:	41                   	inc    %ecx
41bf1d:	00 65 bc             	add    %ah,-0x44(%ebp)
41bf20:	41                   	inc    %ecx
41bf21:	00 7b bc             	add    %bh,-0x44(%ebx)
41bf24:	41                   	inc    %ecx
41bf25:	00 9a bc 41 00 c8    	add    %bl,-0x37ffbe44(%edx)
41bf2b:	bc 41 00 48 bd       	mov    $0xbd480041,%esp
41bf30:	41                   	inc    %ecx
41bf31:	00 48 bd             	add    %cl,-0x43(%eax)
41bf34:	41                   	inc    %ecx
41bf35:	00 ea                	add    %ch,%dl
41bf37:	bc 41 00 ea bc       	mov    $0xbcea0041,%esp
41bf3c:	41                   	inc    %ecx
41bf3d:	00 58 be             	add    %bl,-0x42(%eax)
41bf40:	41                   	inc    %ecx
41bf41:	00 6b bd             	add    %ch,-0x43(%ebx)
41bf44:	41                   	inc    %ecx
41bf45:	00 a8 bd 41 00 e5    	add    %ch,-0x1affbe43(%eax)
41bf4b:	bd 41 00 42 be       	mov    $0xbe420041,%ebp
41bf50:	41                   	inc    %ecx
41bf51:	00 48 bd             	add    %cl,-0x43(%eax)
41bf54:	41                   	inc    %ecx
41bf55:	00 5f be             	add    %bl,-0x42(%edi)
41bf58:	41                   	inc    %ecx
41bf59:	00 76 be             	add    %dh,-0x42(%esi)
41bf5c:	41                   	inc    %ecx
41bf5d:	00 48 bd             	add    %cl,-0x43(%eax)
41bf60:	41                   	inc    %ecx
41bf61:	00 99 be 41 00 6a    	add    %bl,0x6a0041be(%ecx)
41bf67:	2c b8                	sub    $0xb8,%al
41bf69:	fb                   	sti
41bf6a:	f8                   	clc
41bf6b:	48                   	dec    %eax
41bf6c:	00 e8                	add    %ch,%al
41bf6e:	d8 3a                	fdivrs (%edx)
41bf70:	02 00                	add    (%eax),%al
41bf72:	8b f9                	mov    %ecx,%edi
41bf74:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41bf77:	85 c9                	test   %ecx,%ecx
41bf79:	7e 10                	jle    0x41bf8b
41bf7b:	8d 41 ff             	lea    -0x1(%ecx),%eax
41bf7e:	8b c8                	mov    %eax,%ecx
41bf80:	89 47 7c             	mov    %eax,0x7c(%edi)
41bf83:	85 c9                	test   %ecx,%ecx
41bf85:	0f 8e 3d 03 00 00    	jle    0x41c2c8
41bf8b:	8b 47 78             	mov    0x78(%edi),%eax
41bf8e:	85 c0                	test   %eax,%eax
41bf90:	7e 0f                	jle    0x41bfa1
41bf92:	48                   	dec    %eax
41bf93:	89 47 78             	mov    %eax,0x78(%edi)
41bf96:	85 c0                	test   %eax,%eax
41bf98:	7f 07                	jg     0x41bfa1
41bf9a:	6a 0b                	push   $0xb
41bf9c:	e9 29 03 00 00       	jmp    0x41c2ca
41bfa1:	8b 75 08             	mov    0x8(%ebp),%esi
41bfa4:	32 db                	xor    %bl,%bl
41bfa6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bfa9:	85 f6                	test   %esi,%esi
41bfab:	0f 84 fa 02 00 00    	je     0x41c2ab
41bfb1:	c7 45 ec 0a 00 00 00 	movl   $0xa,-0x14(%ebp)
41bfb8:	c7 45 e8 0d 00 00 00 	movl   $0xd,-0x18(%ebp)
41bfbf:	8b 4e 04             	mov    0x4(%esi),%ecx
41bfc2:	33 d2                	xor    %edx,%edx
41bfc4:	42                   	inc    %edx
41bfc5:	8d 41 ff             	lea    -0x1(%ecx),%eax
41bfc8:	83 f8 14             	cmp    $0x14,%eax
41bfcb:	0f 87 f1 02 00 00    	ja     0x41c2c2
41bfd1:	ff 24 85 d2 c2 41 00 	jmp    *0x41c2d2(,%eax,4)
41bfd8:	f7 47 60 00 01 00 00 	testl  $0x100,0x60(%edi)
41bfdf:	75 0e                	jne    0x41bfef
41bfe1:	8b 07                	mov    (%edi),%eax
41bfe3:	3b 47 4c             	cmp    0x4c(%edi),%eax
41bfe6:	75 07                	jne    0x41bfef
41bfe8:	8a 5f 60             	mov    0x60(%edi),%bl
41bfeb:	22 da                	and    %dl,%bl
41bfed:	eb 0c                	jmp    0x41bffb
41bfef:	8b 07                	mov    (%edi),%eax
41bff1:	6a 0a                	push   $0xa
41bff3:	59                   	pop    %ecx
41bff4:	66 39 48 fe          	cmp    %cx,-0x2(%eax)
41bff8:	0f 95 c3             	setne  %bl
41bffb:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bffe:	e9 02 01 00 00       	jmp    0x41c105
41c003:	8b 07                	mov    (%edi),%eax
41c005:	3b 47 50             	cmp    0x50(%edi),%eax
41c008:	75 07                	jne    0x41c011
41c00a:	8b 5f 60             	mov    0x60(%edi),%ebx
41c00d:	d1 eb                	shr    $1,%ebx
41c00f:	eb da                	jmp    0x41bfeb
41c011:	6a 0a                	push   $0xa
41c013:	59                   	pop    %ecx
41c014:	66 39 08             	cmp    %cx,(%eax)
41c017:	eb df                	jmp    0x41bff8
41c019:	8b cf                	mov    %edi,%ecx
41c01b:	e8 ba f5 ff ff       	call   0x41b5da
41c020:	8b 4e 08             	mov    0x8(%esi),%ecx
41c023:	33 d2                	xor    %edx,%edx
41c025:	42                   	inc    %edx
41c026:	23 ca                	and    %edx,%ecx
41c028:	3a c1                	cmp    %cl,%al
41c02a:	0f 94 c3             	sete   %bl
41c02d:	eb cc                	jmp    0x41bffb
41c02f:	8b 07                	mov    (%edi),%eax
41c031:	3b 47 50             	cmp    0x50(%edi),%eax
41c034:	74 19                	je     0x41c04f
41c036:	0f b7 08             	movzwl (%eax),%ecx
41c039:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
41c03d:	74 10                	je     0x41c04f
41c03f:	66 3b 4d e8          	cmp    -0x18(%ebp),%cx
41c043:	74 0a                	je     0x41c04f
41c045:	83 c0 02             	add    $0x2,%eax
41c048:	89 07                	mov    %eax,(%edi)
41c04a:	e9 b6 00 00 00       	jmp    0x41c105
41c04f:	8a da                	mov    %dl,%bl
41c051:	eb a8                	jmp    0x41bffb
41c053:	ff 77 5c             	push   0x5c(%edi)
41c056:	8b 4e 1c             	mov    0x1c(%esi),%ecx
41c059:	8b 46 18             	mov    0x18(%esi),%eax
41c05c:	ff 77 70             	push   0x70(%edi)
41c05f:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41c062:	50                   	push   %eax
41c063:	51                   	push   %ecx
41c064:	ff 77 50             	push   0x50(%edi)
41c067:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c06a:	ff 37                	push   (%edi)
41c06c:	50                   	push   %eax
41c06d:	e8 47 6f fe ff       	call   0x402fb9
41c072:	83 c4 1c             	add    $0x1c,%esp
41c075:	8b 00                	mov    (%eax),%eax
41c077:	3b 07                	cmp    (%edi),%eax
41c079:	75 cd                	jne    0x41c048
41c07b:	33 d2                	xor    %edx,%edx
41c07d:	8d 5a 01             	lea    0x1(%edx),%ebx
41c080:	e9 76 ff ff ff       	jmp    0x41bffb
41c085:	8b 07                	mov    (%edi),%eax
41c087:	3b 47 50             	cmp    0x50(%edi),%eax
41c08a:	0f 84 0f 02 00 00    	je     0x41c29f
41c090:	56                   	push   %esi
41c091:	8b cf                	mov    %edi,%ecx
41c093:	e8 bc c2 ff ff       	call   0x418354
41c098:	84 c0                	test   %al,%al
41c09a:	0f 84 fc 01 00 00    	je     0x41c29c
41c0a0:	32 db                	xor    %bl,%bl
41c0a2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c0a5:	eb 66                	jmp    0x41c10d
41c0a7:	8b 37                	mov    (%edi),%esi
41c0a9:	83 f9 0b             	cmp    $0xb,%ecx
41c0ac:	57                   	push   %edi
41c0ad:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41c0b0:	0f 94 c3             	sete   %bl
41c0b3:	e8 6d e7 fe ff       	call   0x40a825
41c0b8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c0bc:	8b cf                	mov    %edi,%ecx
41c0be:	8b 45 08             	mov    0x8(%ebp),%eax
41c0c1:	ff 70 14             	push   0x14(%eax)
41c0c4:	e8 9d fe ff ff       	call   0x41bf66
41c0c9:	3a c3                	cmp    %bl,%al
41c0cb:	75 1b                	jne    0x41c0e8
41c0cd:	8b 45 c8             	mov    -0x38(%ebp),%eax
41c0d0:	8d 4f 04             	lea    0x4(%edi),%ecx
41c0d3:	89 07                	mov    %eax,(%edi)
41c0d5:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c0d8:	50                   	push   %eax
41c0d9:	e8 81 3b ff ff       	call   0x40fc5f
41c0de:	33 d2                	xor    %edx,%edx
41c0e0:	8d 5a 01             	lea    0x1(%edx),%ebx
41c0e3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c0e6:	eb 05                	jmp    0x41c0ed
41c0e8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41c0eb:	89 37                	mov    %esi,(%edi)
41c0ed:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0f1:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c0f4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c0f7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0fb:	8b c8                	mov    %eax,%ecx
41c0fd:	e8 96 0f 00 00       	call   0x41d098
41c102:	8b 75 08             	mov    0x8(%ebp),%esi
41c105:	84 db                	test   %bl,%bl
41c107:	0f 85 9b 01 00 00    	jne    0x41c2a8
41c10d:	85 f6                	test   %esi,%esi
41c10f:	0f 84 93 01 00 00    	je     0x41c2a8
41c115:	8b 76 0c             	mov    0xc(%esi),%esi
41c118:	89 75 08             	mov    %esi,0x8(%ebp)
41c11b:	85 f6                	test   %esi,%esi
41c11d:	0f 84 85 01 00 00    	je     0x41c2a8
41c123:	e9 97 fe ff ff       	jmp    0x41bfbf
41c128:	8b 56 14             	mov    0x14(%esi),%edx
41c12b:	8b 4f 14             	mov    0x14(%edi),%ecx
41c12e:	8b 07                	mov    (%edi),%eax
41c130:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
41c133:	8b 47 10             	mov    0x10(%edi),%eax
41c136:	39 46 14             	cmp    %eax,0x14(%esi)
41c139:	73 ca                	jae    0x41c105
41c13b:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c13e:	8b 57 04             	mov    0x4(%edi),%edx
41c141:	48                   	dec    %eax
41c142:	8b f0                	mov    %eax,%esi
41c144:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c147:	c1 ee 05             	shr    $0x5,%esi
41c14a:	8b c8                	mov    %eax,%ecx
41c14c:	83 e1 1f             	and    $0x1f,%ecx
41c14f:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41c152:	0f b3 c8             	btr    %ecx,%eax
41c155:	89 04 b2             	mov    %eax,(%edx,%esi,4)
41c158:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c15b:	39 43 14             	cmp    %eax,0x14(%ebx)
41c15e:	72 de                	jb     0x41c13e
41c160:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41c163:	eb 9d                	jmp    0x41c102
41c165:	80 7f 65 00          	cmpb   $0x0,0x65(%edi)
41c169:	8b 46 14             	mov    0x14(%esi),%eax
41c16c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c16f:	75 06                	jne    0x41c177
41c171:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
41c175:	74 8e                	je     0x41c105
41c177:	8b 70 14             	mov    0x14(%eax),%esi
41c17a:	8b d6                	mov    %esi,%edx
41c17c:	8b 4f 04             	mov    0x4(%edi),%ecx
41c17f:	83 e6 1f             	and    $0x1f,%esi
41c182:	c1 ea 05             	shr    $0x5,%edx
41c185:	8b 04 91             	mov    (%ecx,%edx,4),%eax
41c188:	0f ab f0             	bts    %esi,%eax
41c18b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41c18e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41c191:	8b 4f 14             	mov    0x14(%edi),%ecx
41c194:	8b 07                	mov    (%edi),%eax
41c196:	8b 52 14             	mov    0x14(%edx),%edx
41c199:	89 44 d1 04          	mov    %eax,0x4(%ecx,%edx,8)
41c19d:	e9 60 ff ff ff       	jmp    0x41c102
41c1a2:	8b 46 14             	mov    0x14(%esi),%eax
41c1a5:	8b f0                	mov    %eax,%esi
41c1a7:	8b 57 04             	mov    0x4(%edi),%edx
41c1aa:	8b c8                	mov    %eax,%ecx
41c1ac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c1af:	83 e1 1f             	and    $0x1f,%ecx
41c1b2:	33 c0                	xor    %eax,%eax
41c1b4:	c1 ee 05             	shr    $0x5,%esi
41c1b7:	40                   	inc    %eax
41c1b8:	d3 e0                	shl    %cl,%eax
41c1ba:	85 04 b2             	test   %eax,(%edx,%esi,4)
41c1bd:	0f 84 3f ff ff ff    	je     0x41c102
41c1c3:	8b 57 14             	mov    0x14(%edi),%edx
41c1c6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41c1c9:	8b 07                	mov    (%edi),%eax
41c1cb:	8b 4c f2 04          	mov    0x4(%edx,%esi,8),%ecx
41c1cf:	39 0c f2             	cmp    %ecx,(%edx,%esi,8)
41c1d2:	74 24                	je     0x41c1f8
41c1d4:	ff 77 5c             	push   0x5c(%edi)
41c1d7:	ff 77 70             	push   0x70(%edi)
41c1da:	51                   	push   %ecx
41c1db:	ff 34 f2             	push   (%edx,%esi,8)
41c1de:	ff 77 50             	push   0x50(%edi)
41c1e1:	50                   	push   %eax
41c1e2:	8d 45 dc             	lea    -0x24(%ebp),%eax
41c1e5:	50                   	push   %eax
41c1e6:	e8 3f 6e fe ff       	call   0x40302a
41c1eb:	83 c4 1c             	add    $0x1c,%esp
41c1ee:	8b 00                	mov    (%eax),%eax
41c1f0:	3b 07                	cmp    (%edi),%eax