41ccf3:	8b cf                	mov    %edi,%ecx
41ccf5:	8d 59 02             	lea    0x2(%ecx),%ebx
41ccf8:	66 8b 01             	mov    (%ecx),%ax
41ccfb:	83 c1 02             	add    $0x2,%ecx
41ccfe:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
41cd05:	75 f1                	jne    0x41ccf8
41cd07:	eb 2a                	jmp    0x41cd33
41cd09:	33 db                	xor    %ebx,%ebx
41cd0b:	81 c9 00 01 00 00    	or     $0x100,%ecx
41cd11:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
41cd17:	89 4e 58             	mov    %ecx,0x58(%esi)
41cd1a:	66 39 1a             	cmp    %bx,(%edx)
41cd1d:	75 2c                	jne    0x41cd4b
41cd1f:	8b cf                	mov    %edi,%ecx
41cd21:	8d 59 02             	lea    0x2(%ecx),%ebx
41cd24:	66 8b 01             	mov    (%ecx),%ax
41cd27:	83 c1 02             	add    $0x2,%ecx
41cd2a:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
41cd31:	75 f1                	jne    0x41cd24
41cd33:	2b cb                	sub    %ebx,%ecx
41cd35:	d1 f9                	sar    $1,%ecx
41cd37:	8d 41 01             	lea    0x1(%ecx),%eax
41cd3a:	50                   	push   %eax
41cd3b:	57                   	push   %edi
41cd3c:	6a 55                	push   $0x55
41cd3e:	52                   	push   %edx
41cd3f:	e8 8a d9 ff ff       	call   0x41a6ce
41cd44:	83 c4 10             	add    $0x10,%esp
41cd47:	85 c0                	test   %eax,%eax
41cd49:	75 1c                	jne    0x41cd67
41cd4b:	8b 46 58             	mov    0x58(%esi),%eax
41cd4e:	c1 e8 02             	shr    $0x2,%eax
41cd51:	f7 d0                	not    %eax
41cd53:	83 e0 01             	and    $0x1,%eax
41cd56:	5b                   	pop    %ebx
41cd57:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cd5a:	5f                   	pop    %edi
41cd5b:	33 cd                	xor    %ebp,%ecx
41cd5d:	5e                   	pop    %esi
41cd5e:	e8 a9 a6 fe ff       	call   0x40740c
41cd63:	c9                   	leave
41cd64:	c2 0c 00             	ret    $0xc
41cd67:	33 db                	xor    %ebx,%ebx
41cd69:	53                   	push   %ebx
41cd6a:	53                   	push   %ebx
41cd6b:	53                   	push   %ebx
41cd6c:	53                   	push   %ebx
41cd6d:	53                   	push   %ebx
41cd6e:	e8 3b 03 ff ff       	call   0x40d0ae
41cd73:	cc                   	int3
41cd74:	8b ff                	mov    %edi,%edi
41cd76:	55                   	push   %ebp
41cd77:	8b ec                	mov    %esp,%ebp
41cd79:	81 ec f4 00 00 00    	sub    $0xf4,%esp
41cd7f:	a1 14 30 43 00       	mov    0x433014,%eax
41cd84:	33 c5                	xor    %ebp,%eax
41cd86:	89 45 fc             	mov    %eax,-0x4(%ebp)
41cd89:	56                   	push   %esi
41cd8a:	57                   	push   %edi
41cd8b:	8b 7d 08             	mov    0x8(%ebp),%edi
41cd8e:	e8 40 74 ff ff       	call   0x4141d3
41cd93:	8b f0                	mov    %eax,%esi
41cd95:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41cd9b:	6a 78                	push   $0x78
41cd9d:	50                   	push   %eax
41cd9e:	8b 4e 60             	mov    0x60(%esi),%ecx
41cda1:	f7 d9                	neg    %ecx
41cda3:	1b c9                	sbb    %ecx,%ecx
41cda5:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
41cdab:	81 c1 01 10 00 00    	add    $0x1001,%ecx
41cdb1:	51                   	push   %ecx
41cdb2:	57                   	push   %edi
41cdb3:	e8 5f 68 ff ff       	call   0x413617
41cdb8:	85 c0                	test   %eax,%eax
41cdba:	75 06                	jne    0x41cdc2
41cdbc:	21 46 58             	and    %eax,0x58(%esi)
41cdbf:	40                   	inc    %eax
41cdc0:	eb 56                	jmp    0x41ce18
41cdc2:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41cdc8:	50                   	push   %eax
41cdc9:	ff 76 50             	push   0x50(%esi)
41cdcc:	e8 0e d6 ff ff       	call   0x41a3df
41cdd1:	59                   	pop    %ecx
41cdd2:	59                   	pop    %ecx
41cdd3:	85 c0                	test   %eax,%eax
41cdd5:	75 36                	jne    0x41ce0d
41cdd7:	8b cf                	mov    %edi,%ecx
41cdd9:	53                   	push   %ebx
41cdda:	33 db                	xor    %ebx,%ebx
41cddc:	8d 51 02             	lea    0x2(%ecx),%edx
41cddf:	66 8b 01             	mov    (%ecx),%ax
41cde2:	83 c1 02             	add    $0x2,%ecx
41cde5:	66 3b c3             	cmp    %bx,%ax
41cde8:	75 f5                	jne    0x41cddf
41cdea:	2b ca                	sub    %edx,%ecx
41cdec:	d1 f9                	sar    $1,%ecx
41cdee:	8d 41 01             	lea    0x1(%ecx),%eax
41cdf1:	50                   	push   %eax
41cdf2:	57                   	push   %edi
41cdf3:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
41cdf9:	6a 55                	push   $0x55
41cdfb:	50                   	push   %eax
41cdfc:	e8 cd d8 ff ff       	call   0x41a6ce
41ce01:	83 c4 10             	add    $0x10,%esp
41ce04:	85 c0                	test   %eax,%eax
41ce06:	75 20                	jne    0x41ce28
41ce08:	83 4e 58 04          	orl    $0x4,0x58(%esi)
41ce0c:	5b                   	pop    %ebx
41ce0d:	8b 46 58             	mov    0x58(%esi),%eax
41ce10:	c1 e8 02             	shr    $0x2,%eax
41ce13:	f7 d0                	not    %eax
41ce15:	83 e0 01             	and    $0x1,%eax
41ce18:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ce1b:	5f                   	pop    %edi
41ce1c:	33 cd                	xor    %ebp,%ecx
41ce1e:	5e                   	pop    %esi
41ce1f:	e8 e8 a5 fe ff       	call   0x40740c
41ce24:	c9                   	leave
41ce25:	c2 0c 00             	ret    $0xc
41ce28:	53                   	push   %ebx
41ce29:	53                   	push   %ebx
41ce2a:	53                   	push   %ebx
41ce2b:	53                   	push   %ebx
41ce2c:	53                   	push   %ebx
41ce2d:	e8 7c 02 ff ff       	call   0x40d0ae
41ce32:	cc                   	int3
41ce33:	8b ff                	mov    %edi,%edi
41ce35:	55                   	push   %ebp
41ce36:	8b ec                	mov    %esp,%ebp
41ce38:	51                   	push   %ecx
41ce39:	56                   	push   %esi
41ce3a:	8b 75 08             	mov    0x8(%ebp),%esi
41ce3d:	57                   	push   %edi
41ce3e:	85 f6                	test   %esi,%esi
41ce40:	0f 84 d2 00 00 00    	je     0x41cf18
41ce46:	33 ff                	xor    %edi,%edi
41ce48:	66 39 3e             	cmp    %di,(%esi)
41ce4b:	0f 84 c7 00 00 00    	je     0x41cf18
41ce51:	b9 b0 93 42 00       	mov    $0x4293b0,%ecx
41ce56:	8b c6                	mov    %esi,%eax
41ce58:	66 8b 10             	mov    (%eax),%dx
41ce5b:	66 3b 11             	cmp    (%ecx),%dx
41ce5e:	75 1e                	jne    0x41ce7e
41ce60:	66 85 d2             	test   %dx,%dx
41ce63:	74 15                	je     0x41ce7a
41ce65:	66 8b 50 02          	mov    0x2(%eax),%dx
41ce69:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41ce6d:	75 0f                	jne    0x41ce7e
41ce6f:	83 c0 04             	add    $0x4,%eax
41ce72:	83 c1 04             	add    $0x4,%ecx
41ce75:	66 85 d2             	test   %dx,%dx
41ce78:	75 de                	jne    0x41ce58
41ce7a:	8b c7                	mov    %edi,%eax
41ce7c:	eb 05                	jmp    0x41ce83
41ce7e:	1b c0                	sbb    %eax,%eax
41ce80:	83 c8 01             	or     $0x1,%eax
41ce83:	85 c0                	test   %eax,%eax
41ce85:	0f 84 8d 00 00 00    	je     0x41cf18
41ce8b:	68 a4 93 42 00       	push   $0x4293a4
41ce90:	56                   	push   %esi
41ce91:	e8 49 d5 ff ff       	call   0x41a3df
41ce96:	59                   	pop    %ecx
41ce97:	59                   	pop    %ecx
41ce98:	85 c0                	test   %eax,%eax
41ce9a:	74 6a                	je     0x41cf06
41ce9c:	68 b8 93 42 00       	push   $0x4293b8
41cea1:	56                   	push   %esi
41cea2:	e8 38 d5 ff ff       	call   0x41a3df
41cea7:	59                   	pop    %ecx
41cea8:	59                   	pop    %ecx
41cea9:	85 c0                	test   %eax,%eax
41ceab:	74 59                	je     0x41cf06
41cead:	b9 c4 93 42 00       	mov    $0x4293c4,%ecx
41ceb2:	8b c6                	mov    %esi,%eax
41ceb4:	66 8b 10             	mov    (%eax),%dx
41ceb7:	66 3b 11             	cmp    (%ecx),%dx
41ceba:	75 1c                	jne    0x41ced8
41cebc:	66 85 d2             	test   %dx,%dx
41cebf:	74 1c                	je     0x41cedd
41cec1:	66 8b 50 02          	mov    0x2(%eax),%dx
41cec5:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41cec9:	75 0d                	jne    0x41ced8
41cecb:	83 c0 04             	add    $0x4,%eax
41cece:	83 c1 04             	add    $0x4,%ecx
41ced1:	66 85 d2             	test   %dx,%dx
41ced4:	75 de                	jne    0x41ceb4
41ced6:	eb 05                	jmp    0x41cedd
41ced8:	1b ff                	sbb    %edi,%edi
41ceda:	83 cf 01             	or     $0x1,%edi
41cedd:	85 ff                	test   %edi,%edi
41cedf:	75 2e                	jne    0x41cf0f
41cee1:	6a 02                	push   $0x2
41cee3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cee6:	50                   	push   %eax
41cee7:	68 0b 00 00 20       	push   $0x2000000b
41ceec:	8b 45 0c             	mov    0xc(%ebp),%eax
41ceef:	05 50 02 00 00       	add    $0x250,%eax
41cef4:	50                   	push   %eax
41cef5:	e8 1d 67 ff ff       	call   0x413617
41cefa:	85 c0                	test   %eax,%eax
41cefc:	74 27                	je     0x41cf25
41cefe:	8b 45 fc             	mov    -0x4(%ebp),%eax
41cf01:	83 f8 03             	cmp    $0x3,%eax
41cf04:	7d 05                	jge    0x41cf0b
41cf06:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
41cf0b:	5f                   	pop    %edi
41cf0c:	5e                   	pop    %esi
41cf0d:	c9                   	leave
41cf0e:	c3                   	ret
41cf0f:	56                   	push   %esi
41cf10:	e8 ef 5c ff ff       	call   0x412c04
41cf15:	59                   	pop    %ecx
41cf16:	eb f3                	jmp    0x41cf0b
41cf18:	6a 02                	push   $0x2
41cf1a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cf1d:	50                   	push   %eax
41cf1e:	68 04 10 00 20       	push   $0x20001004
41cf23:	eb c7                	jmp    0x41ceec
41cf25:	33 c0                	xor    %eax,%eax
41cf27:	eb e2                	jmp    0x41cf0b
41cf29:	8b ff                	mov    %edi,%edi
41cf2b:	55                   	push   %ebp
41cf2c:	8b ec                	mov    %esp,%ebp
41cf2e:	83 ec 18             	sub    $0x18,%esp
41cf31:	a1 14 30 43 00       	mov    0x433014,%eax
41cf36:	33 c5                	xor    %ebp,%eax
41cf38:	89 45 fc             	mov    %eax,-0x4(%ebp)
41cf3b:	56                   	push   %esi
41cf3c:	8b 75 08             	mov    0x8(%ebp),%esi
41cf3f:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cf42:	6a 09                	push   $0x9
41cf44:	50                   	push   %eax
41cf45:	6a 59                	push   $0x59
41cf47:	56                   	push   %esi
41cf48:	e8 ca 66 ff ff       	call   0x413617
41cf4d:	85 c0                	test   %eax,%eax
41cf4f:	74 16                	je     0x41cf67
41cf51:	6a 09                	push   $0x9
41cf53:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cf56:	56                   	push   %esi
41cf57:	50                   	push   %eax
41cf58:	e8 4b 5d ff ff       	call   0x412ca8
41cf5d:	83 c4 0c             	add    $0xc,%esp
41cf60:	85 c0                	test   %eax,%eax
41cf62:	75 03                	jne    0x41cf67
41cf64:	40                   	inc    %eax
41cf65:	eb 02                	jmp    0x41cf69
41cf67:	33 c0                	xor    %eax,%eax
41cf69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cf6c:	33 cd                	xor    %ebp,%ecx
41cf6e:	5e                   	pop    %esi
41cf6f:	e8 98 a4 fe ff       	call   0x40740c
41cf74:	c9                   	leave
41cf75:	c3                   	ret
41cf76:	8b ff                	mov    %edi,%edi
41cf78:	55                   	push   %ebp
41cf79:	8b ec                	mov    %esp,%ebp
41cf7b:	51                   	push   %ecx
41cf7c:	56                   	push   %esi
41cf7d:	8b 75 0c             	mov    0xc(%ebp),%esi
41cf80:	33 d2                	xor    %edx,%edx
41cf82:	57                   	push   %edi
41cf83:	42                   	inc    %edx
41cf84:	33 ff                	xor    %edi,%edi
41cf86:	85 f6                	test   %esi,%esi
41cf88:	78 4e                	js     0x41cfd8
41cf8a:	53                   	push   %ebx
41cf8b:	85 d2                	test   %edx,%edx
41cf8d:	74 48                	je     0x41cfd7
41cf8f:	8d 04 37             	lea    (%edi,%esi,1),%eax
41cf92:	99                   	cltd
41cf93:	2b c2                	sub    %edx,%eax
41cf95:	8b d8                	mov    %eax,%ebx
41cf97:	8b 45 08             	mov    0x8(%ebp),%eax
41cf9a:	d1 fb                	sar    $1,%ebx
41cf9c:	6b cb 0c             	imul   $0xc,%ebx,%ecx
41cf9f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41cfa2:	ff 34 01             	push   (%ecx,%eax,1)
41cfa5:	8b 45 10             	mov    0x10(%ebp),%eax
41cfa8:	ff 30                	push   (%eax)
41cfaa:	e8 30 d4 ff ff       	call   0x41a3df
41cfaf:	8b d0                	mov    %eax,%edx
41cfb1:	59                   	pop    %ecx
41cfb2:	59                   	pop    %ecx
41cfb3:	85 d2                	test   %edx,%edx
41cfb5:	75 12                	jne    0x41cfc9
41cfb7:	8b 45 08             	mov    0x8(%ebp),%eax
41cfba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cfbd:	83 c0 04             	add    $0x4,%eax
41cfc0:	03 c8                	add    %eax,%ecx
41cfc2:	8b 45 10             	mov    0x10(%ebp),%eax
41cfc5:	89 08                	mov    %ecx,(%eax)
41cfc7:	eb 0a                	jmp    0x41cfd3
41cfc9:	79 05                	jns    0x41cfd0
41cfcb:	8d 73 ff             	lea    -0x1(%ebx),%esi
41cfce:	eb 03                	jmp    0x41cfd3
41cfd0:	8d 7b 01             	lea    0x1(%ebx),%edi
41cfd3:	3b fe                	cmp    %esi,%edi
41cfd5:	7e b4                	jle    0x41cf8b
41cfd7:	5b                   	pop    %ebx
41cfd8:	33 c0                	xor    %eax,%eax
41cfda:	85 d2                	test   %edx,%edx
41cfdc:	5f                   	pop    %edi
41cfdd:	0f 94 c0             	sete   %al
41cfe0:	5e                   	pop    %esi
41cfe1:	c9                   	leave
41cfe2:	c3                   	ret
41cfe3:	8b ff                	mov    %edi,%edi
41cfe5:	55                   	push   %ebp
41cfe6:	8b ec                	mov    %esp,%ebp
41cfe8:	51                   	push   %ecx
41cfe9:	51                   	push   %ecx
41cfea:	53                   	push   %ebx
41cfeb:	8b 5d 08             	mov    0x8(%ebp),%ebx
41cfee:	56                   	push   %esi
41cfef:	57                   	push   %edi
41cff0:	e8 de 71 ff ff       	call   0x4141d3
41cff5:	33 c9                	xor    %ecx,%ecx
41cff7:	33 d2                	xor    %edx,%edx
41cff9:	89 55 f8             	mov    %edx,-0x8(%ebp)
41cffc:	8d 70 50             	lea    0x50(%eax),%esi
41cfff:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
41d005:	89 56 08             	mov    %edx,0x8(%esi)
41d008:	66 89 08             	mov    %cx,(%eax)
41d00b:	8d 7e 04             	lea    0x4(%esi),%edi
41d00e:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d011:	8b cb                	mov    %ebx,%ecx
41d013:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
41d019:	89 1e                	mov    %ebx,(%esi)
41d01b:	89 07                	mov    %eax,(%edi)
41d01d:	66 39 10             	cmp    %dx,(%eax)
41d020:	74 14                	je     0x41d036
41d022:	57                   	push   %edi
41d023:	6a 16                	push   $0x16
41d025:	68 20 89 42 00       	push   $0x428920
41d02a:	e8 47 ff ff ff       	call   0x41cf76
41d02f:	8b 0e                	mov    (%esi),%ecx
41d031:	83 c4 0c             	add    $0xc,%esp
41d034:	33 d2                	xor    %edx,%edx
41d036:	56                   	push   %esi
41d037:	66 39 11             	cmp    %dx,(%ecx)
41d03a:	74 47                	je     0x41d083
41d03c:	8b 07                	mov    (%edi),%eax
41d03e:	66 39 10             	cmp    %dx,(%eax)
41d041:	74 07                	je     0x41d04a
41d043:	e8 26 f9 ff ff       	call   0x41c96e
41d048:	eb 05                	jmp    0x41d04f
41d04a:	e8 b8 f9 ff ff       	call   0x41ca07
41d04f:	33 c0                	xor    %eax,%eax
41d051:	59                   	pop    %ecx