41ba96:	e8 75 b1 fe ff       	call   0x406c10
41ba9b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ba9e:	83 c4 10             	add    $0x10,%esp
41baa1:	85 c9                	test   %ecx,%ecx
41baa3:	75 20                	jne    0x41bac5
41baa5:	6a 04                	push   $0x4
41baa7:	8d 7e 04             	lea    0x4(%esi),%edi
41baaa:	57                   	push   %edi
41baab:	53                   	push   %ebx
41baac:	e8 af b1 fe ff       	call   0x406c60
41bab1:	6a 00                	push   $0x0
41bab3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bab6:	e8 55 b1 fe ff       	call   0x406c10
41babb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41babe:	83 c4 10             	add    $0x10,%esp
41bac1:	85 c9                	test   %ecx,%ecx
41bac3:	74 62                	je     0x41bb27
41bac5:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
41bac8:	8b d9                	mov    %ecx,%ebx
41baca:	8d 34 b9             	lea    (%ecx,%edi,4),%esi
41bacd:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bad0:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
41bad6:	8b f8                	mov    %eax,%edi
41bad8:	3b fe                	cmp    %esi,%edi
41bada:	74 09                	je     0x41bae5
41badc:	89 08                	mov    %ecx,(%eax)
41bade:	83 c0 04             	add    $0x4,%eax
41bae1:	3b c6                	cmp    %esi,%eax
41bae3:	75 f7                	jne    0x41badc
41bae5:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bae8:	8b 40 04             	mov    0x4(%eax),%eax
41baeb:	ff 30                	push   (%eax)
41baed:	e8 d1 15 ff ff       	call   0x40d0c3
41baf2:	53                   	push   %ebx
41baf3:	89 07                	mov    %eax,(%edi)
41baf5:	e8 c9 15 ff ff       	call   0x40d0c3
41bafa:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41bafd:	8b 0b                	mov    (%ebx),%ecx
41baff:	8b 09                	mov    (%ecx),%ecx
41bb01:	89 01                	mov    %eax,(%ecx)
41bb03:	8d 47 04             	lea    0x4(%edi),%eax
41bb06:	50                   	push   %eax
41bb07:	e8 b7 15 ff ff       	call   0x40d0c3
41bb0c:	8b 0b                	mov    (%ebx),%ecx
41bb0e:	56                   	push   %esi
41bb0f:	8b 09                	mov    (%ecx),%ecx
41bb11:	89 41 04             	mov    %eax,0x4(%ecx)
41bb14:	e8 aa 15 ff ff       	call   0x40d0c3
41bb19:	8b 0b                	mov    (%ebx),%ecx
41bb1b:	83 c4 10             	add    $0x10,%esp
41bb1e:	8b 09                	mov    (%ecx),%ecx
41bb20:	89 41 08             	mov    %eax,0x8(%ecx)
41bb23:	33 c0                	xor    %eax,%eax
41bb25:	eb 03                	jmp    0x41bb2a
41bb27:	83 c8 ff             	or     $0xffffffff,%eax
41bb2a:	5f                   	pop    %edi
41bb2b:	5e                   	pop    %esi
41bb2c:	5b                   	pop    %ebx
41bb2d:	c9                   	leave
41bb2e:	c3                   	ret
41bb2f:	8b ff                	mov    %edi,%edi
41bb31:	55                   	push   %ebp
41bb32:	8b ec                	mov    %esp,%ebp
41bb34:	83 ec 14             	sub    $0x14,%esp
41bb37:	53                   	push   %ebx
41bb38:	8b d9                	mov    %ecx,%ebx
41bb3a:	57                   	push   %edi
41bb3b:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41bb3e:	8b 03                	mov    (%ebx),%eax
41bb40:	8b 38                	mov    (%eax),%edi
41bb42:	85 ff                	test   %edi,%edi
41bb44:	75 08                	jne    0x41bb4e
41bb46:	83 c8 ff             	or     $0xffffffff,%eax
41bb49:	e9 b7 00 00 00       	jmp    0x41bc05
41bb4e:	8b 15 c0 d0 43 00    	mov    0x43d0c0,%edx
41bb54:	8b ca                	mov    %edx,%ecx
41bb56:	56                   	push   %esi
41bb57:	8b 37                	mov    (%edi),%esi
41bb59:	83 e1 1f             	and    $0x1f,%ecx
41bb5c:	8b 7f 04             	mov    0x4(%edi),%edi
41bb5f:	33 f2                	xor    %edx,%esi
41bb61:	33 fa                	xor    %edx,%edi
41bb63:	d3 ce                	ror    %cl,%esi
41bb65:	d3 cf                	ror    %cl,%edi
41bb67:	85 f6                	test   %esi,%esi
41bb69:	0f 84 93 00 00 00    	je     0x41bc02
41bb6f:	83 fe ff             	cmp    $0xffffffff,%esi
41bb72:	0f 84 8a 00 00 00    	je     0x41bc02
41bb78:	89 55 fc             	mov    %edx,-0x4(%ebp)
41bb7b:	89 7d f4             	mov    %edi,-0xc(%ebp)
41bb7e:	89 75 f8             	mov    %esi,-0x8(%ebp)
41bb81:	83 ef 04             	sub    $0x4,%edi
41bb84:	3b fe                	cmp    %esi,%edi
41bb86:	72 54                	jb     0x41bbdc
41bb88:	8b 07                	mov    (%edi),%eax
41bb8a:	3b 45 fc             	cmp    -0x4(%ebp),%eax
41bb8d:	74 f2                	je     0x41bb81
41bb8f:	33 c2                	xor    %edx,%eax
41bb91:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bb94:	d3 c8                	ror    %cl,%eax
41bb96:	8b c8                	mov    %eax,%ecx
41bb98:	89 17                	mov    %edx,(%edi)
41bb9a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41bb9d:	ff 15 68 12 43 00    	call   *0x431268
41bba3:	ff 55 f0             	call   *-0x10(%ebp)
41bba6:	8b 03                	mov    (%ebx),%eax
41bba8:	8b 15 c0 d0 43 00    	mov    0x43d0c0,%edx
41bbae:	8b ca                	mov    %edx,%ecx
41bbb0:	83 e1 1f             	and    $0x1f,%ecx
41bbb3:	8b 00                	mov    (%eax),%eax
41bbb5:	8b 18                	mov    (%eax),%ebx
41bbb7:	8b 40 04             	mov    0x4(%eax),%eax
41bbba:	33 da                	xor    %edx,%ebx
41bbbc:	d3 cb                	ror    %cl,%ebx
41bbbe:	33 c2                	xor    %edx,%eax
41bbc0:	d3 c8                	ror    %cl,%eax
41bbc2:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
41bbc5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bbc8:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41bbcb:	75 05                	jne    0x41bbd2
41bbcd:	3b 45 f4             	cmp    -0xc(%ebp),%eax
41bbd0:	74 af                	je     0x41bb81
41bbd2:	8b 75 f0             	mov    -0x10(%ebp),%esi
41bbd5:	8b f8                	mov    %eax,%edi
41bbd7:	89 45 f4             	mov    %eax,-0xc(%ebp)
41bbda:	eb a2                	jmp    0x41bb7e
41bbdc:	83 fe ff             	cmp    $0xffffffff,%esi
41bbdf:	74 0d                	je     0x41bbee
41bbe1:	56                   	push   %esi
41bbe2:	e8 29 b0 fe ff       	call   0x406c10
41bbe7:	8b 15 c0 d0 43 00    	mov    0x43d0c0,%edx
41bbed:	59                   	pop    %ecx
41bbee:	8b 03                	mov    (%ebx),%eax
41bbf0:	8b 00                	mov    (%eax),%eax
41bbf2:	89 10                	mov    %edx,(%eax)
41bbf4:	8b 03                	mov    (%ebx),%eax
41bbf6:	8b 00                	mov    (%eax),%eax
41bbf8:	89 50 04             	mov    %edx,0x4(%eax)
41bbfb:	8b 03                	mov    (%ebx),%eax
41bbfd:	8b 00                	mov    (%eax),%eax
41bbff:	89 50 08             	mov    %edx,0x8(%eax)
41bc02:	33 c0                	xor    %eax,%eax
41bc04:	5e                   	pop    %esi
41bc05:	5f                   	pop    %edi
41bc06:	5b                   	pop    %ebx
41bc07:	c9                   	leave
41bc08:	c3                   	ret
41bc09:	8b ff                	mov    %edi,%edi
41bc0b:	55                   	push   %ebp
41bc0c:	8b ec                	mov    %esp,%ebp
41bc0e:	ff 75 08             	push   0x8(%ebp)
41bc11:	68 c4 f7 43 00       	push   $0x43f7c4
41bc16:	e8 6b 00 00 00       	call   0x41bc86
41bc1b:	59                   	pop    %ecx
41bc1c:	59                   	pop    %ecx
41bc1d:	5d                   	pop    %ebp
41bc1e:	c3                   	ret
41bc1f:	6a 10                	push   $0x10
41bc21:	b8 7d 02 43 00       	mov    $0x43027d,%eax
41bc26:	e8 8a 20 01 00       	call   0x42dcb5
41bc2b:	8d 45 08             	lea    0x8(%ebp),%eax
41bc2e:	89 45 e8             	mov    %eax,-0x18(%ebp)
41bc31:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bc35:	8d 4d f3             	lea    -0xd(%ebp),%ecx
41bc38:	6a 02                	push   $0x2
41bc3a:	58                   	pop    %eax
41bc3b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bc3e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41bc41:	8d 45 ec             	lea    -0x14(%ebp),%eax
41bc44:	50                   	push   %eax
41bc45:	8d 45 e8             	lea    -0x18(%ebp),%eax
41bc48:	50                   	push   %eax
41bc49:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41bc4c:	50                   	push   %eax
41bc4d:	e8 25 fd ff ff       	call   0x41b977
41bc52:	e8 4a 20 01 00       	call   0x42dca1
41bc57:	c3                   	ret
41bc58:	cc                   	int3
41bc59:	cc                   	int3
41bc5a:	cc                   	int3
41bc5b:	cc                   	int3
41bc5c:	cc                   	int3
41bc5d:	8b ff                	mov    %edi,%edi
41bc5f:	55                   	push   %ebp
41bc60:	8b ec                	mov    %esp,%ebp
41bc62:	8b 4d 08             	mov    0x8(%ebp),%ecx
41bc65:	85 c9                	test   %ecx,%ecx
41bc67:	75 05                	jne    0x41bc6e
41bc69:	83 c8 ff             	or     $0xffffffff,%eax
41bc6c:	5d                   	pop    %ebp
41bc6d:	c3                   	ret
41bc6e:	8b 01                	mov    (%ecx),%eax
41bc70:	3b 41 08             	cmp    0x8(%ecx),%eax
41bc73:	75 0d                	jne    0x41bc82
41bc75:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41bc7a:	89 01                	mov    %eax,(%ecx)
41bc7c:	89 41 04             	mov    %eax,0x4(%ecx)
41bc7f:	89 41 08             	mov    %eax,0x8(%ecx)
41bc82:	33 c0                	xor    %eax,%eax
41bc84:	5d                   	pop    %ebp
41bc85:	c3                   	ret
41bc86:	8b ff                	mov    %edi,%edi
41bc88:	55                   	push   %ebp
41bc89:	8b ec                	mov    %esp,%ebp
41bc8b:	83 ec 14             	sub    $0x14,%esp
41bc8e:	8d 45 08             	lea    0x8(%ebp),%eax
41bc91:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bc94:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41bc97:	6a 02                	push   $0x2
41bc99:	8d 45 0c             	lea    0xc(%ebp),%eax
41bc9c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41bc9f:	58                   	pop    %eax
41bca0:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bca3:	89 45 f4             	mov    %eax,-0xc(%ebp)
41bca6:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bca9:	50                   	push   %eax
41bcaa:	8d 45 ec             	lea    -0x14(%ebp),%eax
41bcad:	50                   	push   %eax
41bcae:	8d 45 f4             	lea    -0xc(%ebp),%eax
41bcb1:	50                   	push   %eax
41bcb2:	e8 1b fd ff ff       	call   0x41b9d2
41bcb7:	c9                   	leave
41bcb8:	c3                   	ret
41bcb9:	c7 05 dc f7 43 00 58 	movl   $0x43d158,0x43f7dc
41bcc0:	d1 43 00
41bcc3:	b0 01                	mov    $0x1,%al
41bcc5:	c3                   	ret
41bcc6:	68 c4 f7 43 00       	push   $0x43f7c4
41bccb:	e8 8d ff ff ff       	call   0x41bc5d
41bcd0:	c7 04 24 d0 f7 43 00 	movl   $0x43f7d0,(%esp)
41bcd7:	e8 81 ff ff ff       	call   0x41bc5d
41bcdc:	59                   	pop    %ecx
41bcdd:	b0 01                	mov    $0x1,%al
41bcdf:	c3                   	ret
41bce0:	e8 c9 df ff ff       	call   0x419cae
41bce5:	b0 01                	mov    $0x1,%al
41bce7:	c3                   	ret
41bce8:	8b ff                	mov    %edi,%edi
41bcea:	56                   	push   %esi
41bceb:	8b 35 c0 d0 43 00    	mov    0x43d0c0,%esi
41bcf1:	56                   	push   %esi
41bcf2:	e8 34 16 ff ff       	call   0x40d32b
41bcf7:	56                   	push   %esi
41bcf8:	e8 e2 9f 00 00       	call   0x425cdf
41bcfd:	56                   	push   %esi
41bcfe:	e8 e4 a0 00 00       	call   0x425de7
41bd03:	56                   	push   %esi
41bd04:	e8 7a d8 ff ff       	call   0x419583
41bd09:	56                   	push   %esi
41bd0a:	e8 54 e3 ff ff       	call   0x41a063
41bd0f:	83 c4 14             	add    $0x14,%esp
41bd12:	b0 01                	mov    $0x1,%al
41bd14:	5e                   	pop    %esi
41bd15:	c3                   	ret
41bd16:	6a 00                	push   $0x0
41bd18:	e8 50 fe fe ff       	call   0x40bb6d
41bd1d:	59                   	pop    %ecx
41bd1e:	c3                   	ret
41bd1f:	8b ff                	mov    %edi,%edi
41bd21:	55                   	push   %ebp
41bd22:	8b ec                	mov    %esp,%ebp
41bd24:	51                   	push   %ecx
41bd25:	68 c4 fb 43 00       	push   $0x43fbc4
41bd2a:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41bd2d:	e8 54 00 00 00       	call   0x41bd86
41bd32:	b0 01                	mov    $0x1,%al
41bd34:	c9                   	leave
41bd35:	c3                   	ret
41bd36:	8b ff                	mov    %edi,%edi
41bd38:	56                   	push   %esi
41bd39:	ff 35 f8 f7 43 00    	push   0x43f7f8
41bd3f:	e8 cc ae fe ff       	call   0x406c10
41bd44:	ff 35 fc f7 43 00    	push   0x43f7fc
41bd4a:	33 f6                	xor    %esi,%esi
41bd4c:	89 35 f8 f7 43 00    	mov    %esi,0x43f7f8
41bd52:	e8 b9 ae fe ff       	call   0x406c10
41bd57:	ff 35 d8 fb 43 00    	push   0x43fbd8
41bd5d:	89 35 fc f7 43 00    	mov    %esi,0x43f7fc
41bd63:	e8 a8 ae fe ff       	call   0x406c10
41bd68:	ff 35 dc fb 43 00    	push   0x43fbdc
41bd6e:	89 35 d8 fb 43 00    	mov    %esi,0x43fbd8
41bd74:	e8 97 ae fe ff       	call   0x406c10
41bd79:	83 c4 10             	add    $0x10,%esp
41bd7c:	89 35 dc fb 43 00    	mov    %esi,0x43fbdc
41bd82:	b0 01                	mov    $0x1,%al
41bd84:	5e                   	pop    %esi
41bd85:	c3                   	ret
41bd86:	8b ff                	mov    %edi,%edi
41bd88:	55                   	push   %ebp
41bd89:	8b ec                	mov    %esp,%ebp
41bd8b:	56                   	push   %esi
41bd8c:	8b 75 08             	mov    0x8(%ebp),%esi
41bd8f:	83 c9 ff             	or     $0xffffffff,%ecx
41bd92:	8b 06                	mov    (%esi),%eax
41bd94:	f0 0f c1 08          	lock xadd %ecx,(%eax)
41bd98:	75 15                	jne    0x41bdaf
41bd9a:	57                   	push   %edi
41bd9b:	bf b8 d5 43 00       	mov    $0x43d5b8,%edi
41bda0:	39 3e                	cmp    %edi,(%esi)
41bda2:	74 0a                	je     0x41bdae
41bda4:	ff 36                	push   (%esi)
41bda6:	e8 65 ae fe ff       	call   0x406c10
41bdab:	59                   	pop    %ecx
41bdac:	89 3e                	mov    %edi,(%esi)
41bdae:	5f                   	pop    %edi
41bdaf:	5e                   	pop    %esi
41bdb0:	5d                   	pop    %ebp
41bdb1:	c2 04 00             	ret    $0x4
41bdb4:	68 a8 33 43 00       	push   $0x4333a8
41bdb9:	68 28 33 43 00       	push   $0x433328
41bdbe:	e8 83 9e 00 00       	call   0x425c46
41bdc3:	59                   	pop    %ecx
41bdc4:	59                   	pop    %ecx
41bdc5:	c3                   	ret
41bdc6:	8b ff                	mov    %edi,%edi
41bdc8:	55                   	push   %ebp
41bdc9:	8b ec                	mov    %esp,%ebp
41bdcb:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41bdcf:	74 12                	je     0x41bde3
41bdd1:	83 3d ec f7 43 00 00 	cmpl   $0x0,0x43f7ec
41bdd8:	74 05                	je     0x41bddf
41bdda:	e8 93 41 00 00       	call   0x41ff72
41bddf:	b0 01                	mov    $0x1,%al
41bde1:	5d                   	pop    %ebp
41bde2:	c3                   	ret
41bde3:	68 a8 33 43 00       	push   $0x4333a8
41bde8:	68 28 33 43 00       	push   $0x433328
41bded:	e8 bc 9e 00 00       	call   0x425cae
41bdf2:	59                   	pop    %ecx
41bdf3:	59                   	pop    %ecx
41bdf4:	5d                   	pop    %ebp
41bdf5:	c3                   	ret
41bdf6:	8b ff                	mov    %edi,%edi
41bdf8:	55                   	push   %ebp
41bdf9:	8b ec                	mov    %esp,%ebp
41bdfb:	8b 4d 10             	mov    0x10(%ebp),%ecx
41bdfe:	8b 45 0c             	mov    0xc(%ebp),%eax
41be01:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
41be07:	23 c1                	and    %ecx,%eax
41be09:	56                   	push   %esi
41be0a:	8b 75 08             	mov    0x8(%ebp),%esi
41be0d:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
41be12:	74 24                	je     0x41be38
41be14:	85 f6                	test   %esi,%esi
41be16:	74 0d                	je     0x41be25
41be18:	6a 00                	push   $0x0
41be1a:	6a 00                	push   $0x0
41be1c:	e8 5b a3 00 00       	call   0x42617c
41be21:	59                   	pop    %ecx
41be22:	59                   	pop    %ecx